Docs/TeamsFunctions-help.xml

<?xml version="1.0" encoding="utf-8"?>
<helpItems schema="maml" xmlns="http://msh">
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Assert-AzureADConnection</command:name>
      <command:verb>Assert</command:verb>
      <command:noun>AzureADConnection</command:noun>
      <maml:description>
        <maml:para>Asserts an established Connection to AzureAD</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Tests a connection to AzureAd is established.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Assert-AzureADConnection</maml:name>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters />
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Void - If called directly; On-Screen output only</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
      <command:returnValue>
        <dev:type>
          <maml:name>Boolean - If called by other CmdLets, On-Screen output for the first call only</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>None</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>Assert-AzureADConnection</dev:code>
        <dev:remarks>
          <maml:para>Will run Test-AzureADConnection and, if successful, stops. If unsuccessful, displays request to create a new session and stops.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Assert-AzureAdConnection.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Assert-AzureAdConnection.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_TeamsSession.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_TeamsSession.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Assert-MicrosoftTeamsConnection</command:name>
      <command:verb>Assert</command:verb>
      <command:noun>MicrosoftTeamsConnection</command:noun>
      <maml:description>
        <maml:para>Asserts an established Connection to MicrosoftTeams</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Tests a connection to MicrosoftTeams is established.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Assert-MicrosoftTeamsConnection</maml:name>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters />
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Void - If called directly; On-Screen output only</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
      <command:returnValue>
        <dev:type>
          <maml:name>Boolean - If called by other CmdLets, On-Screen output for the first call only</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>None</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>Assert-MicrosoftTeamsConnection</dev:code>
        <dev:remarks>
          <maml:para>Will run Test-MicrosoftTeamsConnection and, if successful, stops. If unsuccessful, displays request to create a new session and stops.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Assert-MicrosoftTeamsConnection.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Assert-MicrosoftTeamsConnection.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_TeamsSession.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_TeamsSession.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Assert-Module</command:name>
      <command:verb>Assert</command:verb>
      <command:noun>Module</command:noun>
      <maml:description>
        <maml:para>Tests whether a Module is loaded</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Tests whether a specific Module is loaded</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Assert-Module</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>Module</maml:name>
          <maml:description>
            <maml:para>Names of one or more Modules to assert</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
          <dev:type>
            <maml:name>String[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>UpToDate</maml:name>
          <maml:description>
            <maml:para>Verifies Version installed is equal to the latest found online</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>PreRelease</maml:name>
          <maml:description>
            <maml:para>Verifies Version installed is equal to the latest prerelease version found online</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>Module</maml:name>
        <maml:description>
          <maml:para>Names of one or more Modules to assert</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
        <dev:type>
          <maml:name>String[]</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>UpToDate</maml:name>
        <maml:description>
          <maml:para>Verifies Version installed is equal to the latest found online</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>PreRelease</maml:name>
        <maml:description>
          <maml:para>Verifies Version installed is equal to the latest prerelease version found online</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.String</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>Boolean</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>None</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>Assert-Module -Module ModuleName</dev:code>
        <dev:remarks>
          <maml:para>Will Return $TRUE if the Module 'ModuleName' is installed and loaded</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title>
        <dev:code>Assert-Module -Module ModuleName -UpToDate</dev:code>
        <dev:remarks>
          <maml:para>Will Return $TRUE if the Module 'ModuleName' is installed in the latest release version and loaded</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 3 --------------------------</maml:title>
        <dev:code>Assert-Module -Module ModuleName -UpToDate -PreRelease</dev:code>
        <dev:remarks>
          <maml:para>Will Return $TRUE if the Module 'ModuleName' is installed in the latest pre-release version and loaded</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Assert-Module.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Assert-Module.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_Supporting_Functions.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_Supporting_Functions.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Assert-TeamsCallableEntity</command:name>
      <command:verb>Assert</command:verb>
      <command:noun>TeamsCallableEntity</command:noun>
      <maml:description>
        <maml:para>Verifies User is ready for Voice Config</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Tests whether a the Object can be used as a Callable Entity in Call Queues or Auto Attendant</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Assert-TeamsCallableEntity</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>UserObject</maml:name>
          <maml:description>
            <maml:para>Required for Parameterset Object. CsOnlineUser Object</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
          <dev:type>
            <maml:name>Object</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>LicenseObject</maml:name>
          <maml:description>
            <maml:para>Optional for Parameterset Object. AzureAdUserLicense Object</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
          <dev:type>
            <maml:name>Object</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>RequireEV</maml:name>
          <maml:description>
            <maml:para>Optional. By default, the Command will not check for EnterpriseVoice Enablement to be True This is a requirement for adding Users to CallQueues (and needs to be ascertained there)</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <command:syntaxItem>
        <maml:name>Assert-TeamsCallableEntity</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases="ObjectId, Identity">
          <maml:name>UserPrincipalName</maml:name>
          <maml:description>
            <maml:para>Required for Parameterset UserPrincipalName. UserPrincipalName of a User or ResourceAccount</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
          <dev:type>
            <maml:name>String[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>RequireEV</maml:name>
          <maml:description>
            <maml:para>Optional. By default, the Command will not check for EnterpriseVoice Enablement to be True This is a requirement for adding Users to CallQueues (and needs to be ascertained there)</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>UserObject</maml:name>
        <maml:description>
          <maml:para>Required for Parameterset Object. CsOnlineUser Object</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
        <dev:type>
          <maml:name>Object</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>LicenseObject</maml:name>
        <maml:description>
          <maml:para>Optional for Parameterset Object. AzureAdUserLicense Object</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
        <dev:type>
          <maml:name>Object</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases="ObjectId, Identity">
        <maml:name>UserPrincipalName</maml:name>
        <maml:description>
          <maml:para>Required for Parameterset UserPrincipalName. UserPrincipalName of a User or ResourceAccount</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
        <dev:type>
          <maml:name>String[]</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>RequireEV</maml:name>
        <maml:description>
          <maml:para>Optional. By default, the Command will not check for EnterpriseVoice Enablement to be True This is a requirement for adding Users to CallQueues (and needs to be ascertained there)</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.String</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>Boolean</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>Returns Boolean Result This CmdLet does verify User Objects only - Channels are not validated</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>Assert-TeamsCallableEntity -UserObject $CsOnlineUser</dev:code>
        <dev:remarks>
          <maml:para>Verifies the UserObject has a valid PhoneSystem License (Provisioning Status: Success) and is ready to receive Voice Configuration</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title>
        <dev:code>Assert-TeamsCallableEntity -UserObject $CsOnlineUser -LicenseObject $AzureAdUserLicense -RequireEV</dev:code>
        <dev:remarks>
          <maml:para>Verifies the UserObject has a valid PhoneSystem License (Provisioning Status: Success) and is ready to receive Voice Configuration Enables the User for Enterprise Voice if not yet done.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 3 --------------------------</maml:title>
        <dev:code>Assert-TeamsCallableEntity -UserPrincipalName Jane@domain.com</dev:code>
        <dev:remarks>
          <maml:para>Verifies Jane has a valid PhoneSystem License (Provisioning Status: Success) and is ready to receive Voice Configuration</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 4 --------------------------</maml:title>
        <dev:code>Assert-TeamsCallableEntity -UserPrincipalName John@domain.com -RequireEV</dev:code>
        <dev:remarks>
          <maml:para>Verifies John has a valid PhoneSystem License (Provisioning Status: Success) and is ready to receive Voice Configuration Enables John for Enterprise Voice if not yet done.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Assert-TeamsCallableEntity.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Assert-TeamsCallableEntity.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_TeamsAutoAttendant.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_TeamsAutoAttendant.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_TeamsCallQueue.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_TeamsCallQueue.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_UserManagement.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_UserManagement.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Assert-TeamsUserVoiceConfig</command:name>
      <command:verb>Assert</command:verb>
      <command:noun>TeamsUserVoiceConfig</command:noun>
      <maml:description>
        <maml:para>Tests the validity of the Voice Configuration for one or more Users</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Validates Object Type, enablement for Enterprise Voice, and optionally also the Tenant Dial Plan For Calling Plans, validates Calling Plan License and presence of Telephone Number For Direct Routing, validates Online Voice Routing Policy and LineUri For Skype Hybrid PSTN, validate Voice Routing Policy and LineUri Configuration is always done on the assumption that a full configuration is desired. Any partial configuration is fed back on screen.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Assert-TeamsUserVoiceConfig</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="1" aliases="none">
          <maml:name>Object</maml:name>
          <maml:description>
            <maml:para>Required for Parameterset Object. CsOnlineUser Object passed to the function to reduce query time.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Object[]</command:parameterValue>
          <dev:type>
            <maml:name>Object[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>IncludeTenantDialPlan</maml:name>
          <maml:description>
            <maml:para>Optional. By default, only the core requirements for Voice Routing are verified. This extends the requirements to also include the Tenant Dial Plan.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>ExtensionState</maml:name>
          <maml:description>
            <maml:para>Optional. For DirectRouting, enforces the presence (or absence) of an Extension. Default: NotMeasured No effect for Microsoft Calling Plans</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>NotMeasured</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <command:syntaxItem>
        <maml:name>Assert-TeamsUserVoiceConfig</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases="ObjectId, Identity">
          <maml:name>UserPrincipalName</maml:name>
          <maml:description>
            <maml:para>Required for Parameterset UserPrincipalName. UserPrincipalName or ObjectId of the Object</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
          <dev:type>
            <maml:name>String[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>IncludeTenantDialPlan</maml:name>
          <maml:description>
            <maml:para>Optional. By default, only the core requirements for Voice Routing are verified. This extends the requirements to also include the Tenant Dial Plan.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>ExtensionState</maml:name>
          <maml:description>
            <maml:para>Optional. For DirectRouting, enforces the presence (or absence) of an Extension. Default: NotMeasured No effect for Microsoft Calling Plans</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>NotMeasured</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="1" aliases="none">
        <maml:name>Object</maml:name>
        <maml:description>
          <maml:para>Required for Parameterset Object. CsOnlineUser Object passed to the function to reduce query time.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Object[]</command:parameterValue>
        <dev:type>
          <maml:name>Object[]</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases="ObjectId, Identity">
        <maml:name>UserPrincipalName</maml:name>
        <maml:description>
          <maml:para>Required for Parameterset UserPrincipalName. UserPrincipalName or ObjectId of the Object</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
        <dev:type>
          <maml:name>String[]</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>IncludeTenantDialPlan</maml:name>
        <maml:description>
          <maml:para>Optional. By default, only the core requirements for Voice Routing are verified. This extends the requirements to also include the Tenant Dial Plan.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>ExtensionState</maml:name>
        <maml:description>
          <maml:para>Optional. For DirectRouting, enforces the presence (or absence) of an Extension. Default: NotMeasured No effect for Microsoft Calling Plans</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>NotMeasured</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.String</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Void - If called directly and no errors are found - Information Text only</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object - If called directly and errors are found (Get-TeamsUserVoiceConfig)</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
      <command:returnValue>
        <dev:type>
          <maml:name>Boolean - If called by other CmdLets</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>Verbose output is available, though all required information is fed back directly to the User. If no objections are found, nothing is returned. Piping the Output to Export-Csv can give the best result for investigation into misconfigured users.</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>Assert-TeamsUserVoiceConfig -UserPrincipalName John@domain.com</dev:code>
        <dev:remarks>
          <maml:para>If incorrect/missing, writes information output about every tested parameter Returns output of Get-TeamsUserVoiceConfig for all Objects that have an incorrectly configured Voice Configuration</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title>
        <dev:code>Assert-TeamsUserVoiceConfig -UserPrincipalName John@domain.com -IncludeTenantDialPlan</dev:code>
        <dev:remarks>
          <maml:para>If incorrect/missing, writes information output about every tested parameter including the Tenant Dial Plan Returns output of Get-TeamsUserVoiceConfig for all Objects that have an incorrectly configured Voice Configuration</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 3 --------------------------</maml:title>
        <dev:code>Assert-TeamsUserVoiceConfig -UserPrincipalName John@domain.com -ExtensionState MustBePopulated</dev:code>
        <dev:remarks>
          <maml:para>If incorrect/missing, writes information output about every tested parameter including the Extension. With MustBePopulated an Extension is expected. If no Extension is present, it is flagged as misconfigured Returns output of Get-TeamsUserVoiceConfig for all Objects that have an incorrectly configured Voice Configuration</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Assert-TeamsUserVoiceConfig.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Assert-TeamsUserVoiceConfig.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_VoiceConfiguration.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_VoiceConfiguration.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://docs.microsoft.com/en-us/microsoftteams/direct-routing-migrating</maml:linkText>
        <maml:uri>https://docs.microsoft.com/en-us/microsoftteams/direct-routing-migrating</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Backup-TeamsEV</command:name>
      <command:verb>Backup</command:verb>
      <command:noun>TeamsEV</command:noun>
      <maml:description>
        <maml:para>A script to automatically back-up a Microsoft Teams Enterprise Voice configuration.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Automates the backup of Microsoft Teams Enterprise Voice normalization rules, dialplans, voice policies, voice routes, PSTN usages and PSTN GW translation rules for various countries.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Backup-TeamsEV</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases="none">
          <maml:name>OverrideAdminDomain</maml:name>
          <maml:description>
            <maml:para>OPTIONAL: The FQDN your Office365 tenant. Use if your admin account is not in the same domain as your tenant (ie. doesn't use a @tenantname.onmicrosoft.com address)</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases="none">
        <maml:name>OverrideAdminDomain</maml:name>
        <maml:description>
          <maml:para>OPTIONAL: The FQDN your Office365 tenant. Use if your admin account is not in the same domain as your tenant (ie. doesn't use a @tenantname.onmicrosoft.com address)</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
      <command:inputType>
        <dev:type>
          <maml:name>System.String</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.File</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>Version 1.10 Build: Feb 04, 2020</maml:para>
        <maml:para>Copyright © 2020 Ken Lasko klasko@ucdialplans.com https://www.ucdialplans.com</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>Backup-TeamsEV</dev:code>
        <dev:remarks>
          <maml:para>Takes a backup of the Teams Enterprise Voice Configuration and stores it as a ZIP file with the Tenant Name and Current Date in the current directory.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Backup-TeamsEV.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Backup-TeamsEV.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_Supporting_Functions.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_Supporting_Functions.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Backup-TeamsTenant</command:name>
      <command:verb>Backup</command:verb>
      <command:noun>TeamsTenant</command:noun>
      <maml:description>
        <maml:para>A script to automatically backup a Microsoft Teams Tenant configuration.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Automates the backup of Microsoft Teams.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Backup-TeamsTenant</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases="none">
          <maml:name>OverrideAdminDomain</maml:name>
          <maml:description>
            <maml:para>OPTIONAL: The FQDN your Office365 tenant. Use if your admin account is not in the same domain as your tenant (ie. doesn't use a @tenantname.onmicrosoft.com address)</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases="none">
        <maml:name>OverrideAdminDomain</maml:name>
        <maml:description>
          <maml:para>OPTIONAL: The FQDN your Office365 tenant. Use if your admin account is not in the same domain as your tenant (ie. doesn't use a @tenantname.onmicrosoft.com address)</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
      <command:inputType>
        <dev:type>
          <maml:name>System.String</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.File</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>Version 1.10 Build: Feb 04, 2020</maml:para>
        <maml:para>Copyright © 2020 Ken Lasko klasko@ucdialplans.com https://www.ucdialplans.com</maml:para>
        <maml:para>Expanded to cover more elements David Eberhardt https://github.com/DEberhardt/ https://davideberhardt.wordpress.com/</maml:para>
        <maml:para>14-MAY 2020</maml:para>
        <maml:para>The list of command is not dynamic, meaning addded commandlets post publishing date are not captured</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>Backup-TeamsTenant</dev:code>
        <dev:remarks>
          <maml:para>Takes a backup of the entire Teams Tenant configuration and stores it as a ZIP file with the Tenant Name and Current Date in the current directory.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Backup-TeamsTenant.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Backup-TeamsTenant.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_Supporting_Functions.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_Supporting_Functions.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Connect-Me</command:name>
      <command:verb>Connect</command:verb>
      <command:noun>Me</command:noun>
      <maml:description>
        <maml:para>Connect to AzureAd, MicrosoftTeams and optionally also to Exchange</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>One function to connect them all. This CmdLet solves the requirement for individual authentication prompts for AzureAD and MicrosoftTeams (and optionally also to ExchangeOnline) when multiple connections are required.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Connect-Me</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="UserPrincipalName, Username">
          <maml:name>AccountId</maml:name>
          <maml:description>
            <maml:para>Required. UserPrincipalName or LoginName of the Office365 Administrator</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="Exchange">
          <maml:name>ExchangeOnline</maml:name>
          <maml:description>
            <maml:para>Optional. Connects to Exchange Online Management. Requires Exchange Admin Role</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>NoFeedback</maml:name>
          <maml:description>
            <maml:para>Optional. Suppresses output session information about established sessions. Used for calls by other functions</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="UserPrincipalName, Username">
        <maml:name>AccountId</maml:name>
        <maml:description>
          <maml:para>Required. UserPrincipalName or LoginName of the Office365 Administrator</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="Exchange">
        <maml:name>ExchangeOnline</maml:name>
        <maml:description>
          <maml:para>Optional. Connects to Exchange Online Management. Requires Exchange Admin Role</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>NoFeedback</maml:name>
        <maml:description>
          <maml:para>Optional. Suppresses output session information about established sessions. Used for calls by other functions</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.String</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object - Default Behavior, incl. on-screen feedback about performed tasks</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object - Reduced information, no on-screen output</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>This CmdLet can be used to establish a session to: AzureAD, MicrosoftTeams and ExchangeOnline Each Service has different requirements for connection, query (Get-CmdLets), and action (other CmdLets) For AzureAD, no particular role is needed for connection and query. Get-CmdLets are available without an Admin-role. For MicrosoftTeams, a Teams Administrator Role is required (ideally Teams Communication or Service Administrator) Module MicrosoftTeams v2.3.1 now fully supercedes previous connection methods. The Legcay role 'Skype for Business Legacy Administrator' is no longer required if connected via MicrosoftTeams v2.3.1 or higher. Actual administrative capabilities are dependent on actual Office 365 admin role assignments (displayed as output) Disconnects current sessions (if found) in order to establish a clean new session to each desired service.</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>Connect-Me [-AccountId] admin@domain.com</dev:code>
        <dev:remarks>
          <maml:para>Creates a session to AzureAD prompting for a Password for 'admin@domain.com' If AzureAdPreview is loaded, tries to enable eligible Admin roles in Privileged Identity Management Creates a session to MicrosoftTeams with the AzureAd Session details If unsuccessful, prompting for selection of the authenticated User only (no additional authentication needed)</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title>
        <dev:code>Connect-Me -AccountId admin@domain.com -NoFeedBack</dev:code>
        <dev:remarks>
          <maml:para>If AzureAdPreview is loaded, tries to enable eligible Admin roles in Privileged Identity Management Creates a session to MicrosoftTeams with the AzureAd Session details If unsuccessful, prompting for selection of the authenticated User only (no additional authentication needed) Does not display Session Information Object at the end - This is useful if called by other functions.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 3 --------------------------</maml:title>
        <dev:code>Connect-Me -AccountId admin@domain.com -ExchangeOnline</dev:code>
        <dev:remarks>
          <maml:para>If AzureAdPreview is loaded, tries to enable eligible Admin roles in Privileged Identity Management Creates a session to MicrosoftTeams with the AzureAd Session details If unsuccessful, prompting for selection of the authenticated User only (no additional authentication needed) Also connects to ExchangeOnline</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Connect-Me.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Connect-Me.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_TeamsSession.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_TeamsSession.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Disable-AzureAdAdminRole</command:name>
      <command:verb>Disable</command:verb>
      <command:noun>AzureAdAdminRole</command:noun>
      <maml:description>
        <maml:para>Disables active Admin Roles</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Azure Ad Privileged Identity Management can require you to activate Admin Roles. Active roles or groups can be deactivated with this Command</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Disable-AzureAdAdminRole</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases="UserPrincipalName, ObjectId">
          <maml:name>Identity</maml:name>
          <maml:description>
            <maml:para>Username of the Admin Account to disable roles for</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
          <maml:name>Reason</maml:name>
          <maml:description>
            <maml:para>Optional. Small statement why these roles are disabled By default, "Administration finished" is used as the reason.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none">
          <maml:name>ProviderId</maml:name>
          <maml:description>
            <maml:para>Optional. Default is 'aadRoles' for the ProviderId, however, this script could also be used for activating Azure Resources ('azureResources'). Use with Confirm and EnableAll.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>AadRoles</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>PassThru</maml:name>
          <maml:description>
            <maml:para>Optional. Displays output object for each activated Role Used for further processing to verify command was successful</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Overrides confirmation dialog and enables all eligible roles</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi">
          <maml:name>WhatIf</maml:name>
          <maml:description>
            <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf">
          <maml:name>Confirm</maml:name>
          <maml:description>
            <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases="UserPrincipalName, ObjectId">
        <maml:name>Identity</maml:name>
        <maml:description>
          <maml:para>Username of the Admin Account to disable roles for</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
        <maml:name>Reason</maml:name>
        <maml:description>
          <maml:para>Optional. Small statement why these roles are disabled By default, "Administration finished" is used as the reason.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none">
        <maml:name>ProviderId</maml:name>
        <maml:description>
          <maml:para>Optional. Default is 'aadRoles' for the ProviderId, however, this script could also be used for activating Azure Resources ('azureResources'). Use with Confirm and EnableAll.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>AadRoles</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>PassThru</maml:name>
        <maml:description>
          <maml:para>Optional. Displays output object for each activated Role Used for further processing to verify command was successful</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>Force</maml:name>
        <maml:description>
          <maml:para>Overrides confirmation dialog and enables all eligible roles</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi">
        <maml:name>WhatIf</maml:name>
        <maml:description>
          <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf">
        <maml:name>Confirm</maml:name>
        <maml:description>
          <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.String</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Void - Default Behaviour</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object - With Switch PassThru</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
      <command:returnValue>
        <dev:type>
          <maml:name>Boolean - If called by other CmdLets</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>Limitations: MFA must be authorised first Currently no way to trigger it via PowerShell. If the activation fails, please sign into Office.com Once Authorised, this command can be used to activate your eligible Admin Roles. AzureResources provider activation is not yet tested.</maml:para>
        <maml:para>Thanks to Nathan O'Bryan, MVP|MCSM - nathan@mcsmlab.com for inspiring this script through Activate-PIMRole.ps1</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>Disable-AzureAdAdminRole John@domain.com</dev:code>
        <dev:remarks>
          <maml:para>Disables all active Teams Admin roles for User John@domain.com</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title>
        <dev:code>Disable-AzureAdAdminRole John@domain.com -Reason "Finished"</dev:code>
        <dev:remarks>
          <maml:para>Disables all active Admin roles for User John@domain.com with the reason provided.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Disable-AzureAdAdminRole.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Disable-AzureAdAdminRole.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_UserManagement.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_UserManagement.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Disable-MyAzureAdAdminRole</command:name>
      <command:verb>Disable</command:verb>
      <command:noun>MyAzureAdAdminRole</command:noun>
      <maml:description>
        <maml:para>Activates Azure Ad Admin Roles for currently connected User</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Activates Azure Active Directory Privileged Identity Management Admin Roles for the currently connected User. Requires a Connection to AzureAd</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Disable-MyAzureAdAdminRole</maml:name>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters />
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Void - If executed from shell</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
      <command:returnValue>
        <dev:type>
          <maml:name>Boolean - If called by other CmdLets</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>None</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>Disable-MyAzureAdAdminRole</dev:code>
        <dev:remarks>
          <maml:para></maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Disable-MyAzureAdAdminRole.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Disable-MyAzureAdAdminRole.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_UserManagement.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_UserManagement.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Disconnect-Me</command:name>
      <command:verb>Disconnect</command:verb>
      <command:noun>Me</command:noun>
      <maml:description>
        <maml:para>Disconnects all sessions for AzureAD &amp; MicrosoftTeams</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Helper function to disconnect from AzureAD &amp; MicrosoftTeams By default Office 365 allows two (!) concurrent sessions per User. Session exhaustion may occur if sessions hang or incorrectly closed. Avoid this by cleanly disconnecting the sessions with this function before timeout</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Disconnect-Me</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>DisableAdminRoles</maml:name>
          <maml:description>
            <maml:para>Disables activated Admin roles before disconnecting from Azure Ad</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>DisableAdminRoles</maml:name>
        <maml:description>
          <maml:para>Disables activated Admin roles before disconnecting from Azure Ad</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Void</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>Helper function to disconnect from AzureAD &amp; MicrosoftTeams To disconnect from ExchangeOnline, please run Disconnect-ExchangeOnline By default Office 365 allows two (!) concurrent sessions per User. If sessions hang or are incorrectly closed (not properly disconnected), this can lead to session exhaustion which results in not being able to connect again. An admin can sign-out this user from all Sessions through the Office 365 Admin Center This process may take up to 15 mins and is best avoided, through proper disconnect after use An Alias is available for this function: dis</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>Disconnect-Me</dev:code>
        <dev:remarks>
          <maml:para>Disconnects from AzureAD, MicrosoftTeams Errors and Warnings are suppressed as no verification of existing sessions is undertaken</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Disconnect-Me.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Disconnect-Me.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_TeamsSession.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_TeamsSession.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Enable-AzureAdAdminRole</command:name>
      <command:verb>Enable</command:verb>
      <command:noun>AzureAdAdminRole</command:noun>
      <maml:description>
        <maml:para>Enables eligible Admin Roles</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Azure Ad Privileged Identity Management can require you to activate Admin Roles. Eligibe roles or groups can be activated with this Command</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Enable-AzureAdAdminRole</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases="UserPrincipalName, ObjectId">
          <maml:name>Identity</maml:name>
          <maml:description>
            <maml:para>Username of the Admin Account to enable roles for</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
          <maml:name>Reason</maml:name>
          <maml:description>
            <maml:para>Optional. Small statement why these roles are requested By default, "Administration" is used as the reason.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none">
          <maml:name>Duration</maml:name>
          <maml:description>
            <maml:para>Optional. Integer. By default, enables Roles for 4 hours. Depending on your Administrators settings, values between 1 and 24 hours can be specified</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
          <dev:type>
            <maml:name>Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="4" aliases="none">
          <maml:name>TicketNr</maml:name>
          <maml:description>
            <maml:para>Optional. Integer. Only used if provided Depending on your Administrators settings, a ticket number may be required to process the request</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
          <dev:type>
            <maml:name>Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="5" aliases="none">
          <maml:name>ProviderId</maml:name>
          <maml:description>
            <maml:para>Optional. Default is 'aadRoles' for the ProviderId, however, this script could also be used for activating Azure Resources ('azureResources'). Use with Confirm and EnableAll.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>AadRoles</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Extend</maml:name>
          <maml:description>
            <maml:para>Optional. Switch. If an assignment is already active, it can be extended. This will leave an open request which can be closed manually.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>PassThru</maml:name>
          <maml:description>
            <maml:para>Optional. Displays output object for each activated Role Used for further processing to verify command was successful</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Optional. Overrides confirmation dialog and enables all eligible roles</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi">
          <maml:name>WhatIf</maml:name>
          <maml:description>
            <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf">
          <maml:name>Confirm</maml:name>
          <maml:description>
            <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases="UserPrincipalName, ObjectId">
        <maml:name>Identity</maml:name>
        <maml:description>
          <maml:para>Username of the Admin Account to enable roles for</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
        <maml:name>Reason</maml:name>
        <maml:description>
          <maml:para>Optional. Small statement why these roles are requested By default, "Administration" is used as the reason.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none">
        <maml:name>Duration</maml:name>
        <maml:description>
          <maml:para>Optional. Integer. By default, enables Roles for 4 hours. Depending on your Administrators settings, values between 1 and 24 hours can be specified</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
        <dev:type>
          <maml:name>Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>0</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="4" aliases="none">
        <maml:name>TicketNr</maml:name>
        <maml:description>
          <maml:para>Optional. Integer. Only used if provided Depending on your Administrators settings, a ticket number may be required to process the request</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
        <dev:type>
          <maml:name>Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>0</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="5" aliases="none">
        <maml:name>ProviderId</maml:name>
        <maml:description>
          <maml:para>Optional. Default is 'aadRoles' for the ProviderId, however, this script could also be used for activating Azure Resources ('azureResources'). Use with Confirm and EnableAll.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>AadRoles</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>Extend</maml:name>
        <maml:description>
          <maml:para>Optional. Switch. If an assignment is already active, it can be extended. This will leave an open request which can be closed manually.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>PassThru</maml:name>
        <maml:description>
          <maml:para>Optional. Displays output object for each activated Role Used for further processing to verify command was successful</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>Force</maml:name>
        <maml:description>
          <maml:para>Optional. Overrides confirmation dialog and enables all eligible roles</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi">
        <maml:name>WhatIf</maml:name>
        <maml:description>
          <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf">
        <maml:name>Confirm</maml:name>
        <maml:description>
          <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.String</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Void - Default Behaviour</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object - With Switch PassThru</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
      <command:returnValue>
        <dev:type>
          <maml:name>Boolean - If called by other CmdLets</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>Limitations: MFA must be authorised first - Current workaround triggers MFA auth upon login. If the activation fails, please sign into Office.com or use https://aka.ms/myroles Once Authorised, this command can be used to activate your eligible Admin Roles. AzureResources provider activation is not yet tested. Thanks to Nathan O'Bryan, MVP|MCSM - nathan@mcsmlab.com for inspiring this script through Activate-PIMRole.ps1</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>Enable-AzureAdAdminRole John@domain.com</dev:code>
        <dev:remarks>
          <maml:para>Enables all eligible Teams Admin roles for User John@domain.com</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title>
        <dev:code>Enable-AzureAdAdminRole John@domain.com -EnableAll -Reason "Need to provision Users" -Duration 4</dev:code>
        <dev:remarks>
          <maml:para>Enables all eligible Admin roles for User John@domain.com with the reason provided.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 3 --------------------------</maml:title>
        <dev:code>Enable-AzureAdAdminRole John@domain.com -EnableAll -ProviderId azureResources -Confirm</dev:code>
        <dev:remarks>
          <maml:para>Enables all eligible Azure Resources for User John@domain.com with confirmation for each Resource.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 4 --------------------------</maml:title>
        <dev:code>Enable-AzureAdAdminRole John@domain.com -Extend -Duration 3</dev:code>
        <dev:remarks>
          <maml:para>If already activated, will extend the Azure Resources for User John@domain.com for up to 3 hours.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Enable-AzureAdAdminRole.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Enable-AzureAdAdminRole.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_UserManagement.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_UserManagement.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Enable-MyAzureAdAdminRole</command:name>
      <command:verb>Enable</command:verb>
      <command:noun>MyAzureAdAdminRole</command:noun>
      <maml:description>
        <maml:para>Activates Azure Ad Admin Roles for currently connected User</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Activates Azure Active Directory Privileged Identity Management Admin Roles for the currently connected User. Requires a Connection to AzureAd</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Enable-MyAzureAdAdminRole</maml:name>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters />
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Void - If executed from shell</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
      <command:returnValue>
        <dev:type>
          <maml:name>Boolean - If called by other CmdLets</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>None</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>Enable-MyAzureAdAdminRole</dev:code>
        <dev:remarks>
          <maml:para></maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Enable-MyAzureAdAdminRole.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Enable-MyAzureAdAdminRole.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_UserManagement.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_UserManagement.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Enable-TeamsUserForEnterpriseVoice</command:name>
      <command:verb>Enable</command:verb>
      <command:noun>TeamsUserForEnterpriseVoice</command:noun>
      <maml:description>
        <maml:para>Enables a User for Enterprise Voice</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Enables a User for Enterprise Voice and verifies its status</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Enable-TeamsUserForEnterpriseVoice</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>UserObject</maml:name>
          <maml:description>
            <maml:para>CsOnlineUser Object</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
          <dev:type>
            <maml:name>Object</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>LicenseObject</maml:name>
          <maml:description>
            <maml:para>AzureAdUserLicense Object</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
          <dev:type>
            <maml:name>Object</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Suppresses confirmation prompt unless -Confirm is used explicitly</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi">
          <maml:name>WhatIf</maml:name>
          <maml:description>
            <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf">
          <maml:name>Confirm</maml:name>
          <maml:description>
            <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <command:syntaxItem>
        <maml:name>Enable-TeamsUserForEnterpriseVoice</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases="ObjectId, Identity">
          <maml:name>UserPrincipalName</maml:name>
          <maml:description>
            <maml:para>Required for Parameterset UserPrincipalName. UserPrincipalName of the User to be enabled.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
          <dev:type>
            <maml:name>String[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Suppresses confirmation prompt unless -Confirm is used explicitly</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi">
          <maml:name>WhatIf</maml:name>
          <maml:description>
            <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf">
          <maml:name>Confirm</maml:name>
          <maml:description>
            <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>UserObject</maml:name>
        <maml:description>
          <maml:para>CsOnlineUser Object</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
        <dev:type>
          <maml:name>Object</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>LicenseObject</maml:name>
        <maml:description>
          <maml:para>AzureAdUserLicense Object</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
        <dev:type>
          <maml:name>Object</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases="ObjectId, Identity">
        <maml:name>UserPrincipalName</maml:name>
        <maml:description>
          <maml:para>Required for Parameterset UserPrincipalName. UserPrincipalName of the User to be enabled.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
        <dev:type>
          <maml:name>String[]</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>Force</maml:name>
        <maml:description>
          <maml:para>Suppresses confirmation prompt unless -Confirm is used explicitly</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi">
        <maml:name>WhatIf</maml:name>
        <maml:description>
          <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf">
        <maml:name>Confirm</maml:name>
        <maml:description>
          <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.String</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Void - If called directly</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
      <command:returnValue>
        <dev:type>
          <maml:name>Boolean - If called by another CmdLet</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>Simple helper function to enable and verify a User is enabled for Enterprise Voice Returns boolean result and less communication if called by another function Can be used providing either the UserPrincipalName or the already queried CsOnlineUser Object</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>Enable-TeamsUserForEnterpriseVoice John@domain.com</dev:code>
        <dev:remarks>
          <maml:para>Enables John for Enterprise Voice</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Enable-TeamsUserForEnterpriseVoice.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Enable-TeamsUserForEnterpriseVoice.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_VoiceConfiguration.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_VoiceConfiguration.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_UserManagement.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_UserManagement.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_Supporting_Functions.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_Supporting_Functions.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Find-AzureAdGroup</command:name>
      <command:verb>Find</command:verb>
      <command:noun>AzureAdGroup</command:noun>
      <maml:description>
        <maml:para>Returns an Object if an AzureAd Group has been found</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Simple lookup - does the Group Object exist - to avoid TRY/CATCH statements for processing</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Find-AzureAdGroup</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="1" aliases="GroupName, Name">
          <maml:name>Identity</maml:name>
          <maml:description>
            <maml:para>Mandatory. String to search. Provide part or full DisplayName, MailAddress or MailNickName Returns all matching groups</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="1" aliases="GroupName, Name">
        <maml:name>Identity</maml:name>
        <maml:description>
          <maml:para>Mandatory. String to search. Provide part or full DisplayName, MailAddress or MailNickName Returns all matching groups</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.String</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>Microsoft.Open.AzureAD.Model.Group</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>None</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>Find-AzureAdGroup [-Identity] "My Group"</dev:code>
        <dev:remarks>
          <maml:para>Will return all Groups that have "My Group" in the DisplayName, ObjectId or MailNickName</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title>
        <dev:code>Find-AzureAdGroup -Identity "MyGroup@domain.com"</dev:code>
        <dev:remarks>
          <maml:para>Will return all Groups that match "MyGroup@domain.com" in the DisplayName, ObjectId or MailNickName</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Find-AzureAdGroup.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Find-AzureAdGroup.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_UserManagement.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_UserManagement.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Find-AzureAdUser</command:name>
      <command:verb>Find</command:verb>
      <command:noun>AzureAdUser</command:noun>
      <maml:description>
        <maml:para>Returns User Objects from Azure AD based on a search string or UserPrincipalName</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Simplifies lookups with Get-AzureAdUser by using and combining -SearchString and -ObjectId Parameters. CmdLet can find uses by either query, if nothing is found with the Searchstring, another search is done via the ObjectId This simplifies the query without having to rely multiple queries with Get-AzureAdUser</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Find-AzureAdUser</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="1" aliases="none">
          <maml:name>SearchString</maml:name>
          <maml:description>
            <maml:para>Required. A 3-255 digit string to be found on any Object. Performs multiple searches against the Searches against this sting and parts thereof. Uses Get-AzureAd-User -SearchString and Get-AzureAdUser -Filter and subsequently Get-AzureAdUser -ObjectType</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
          <dev:type>
            <maml:name>String[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="1" aliases="none">
        <maml:name>SearchString</maml:name>
        <maml:description>
          <maml:para>Required. A 3-255 digit string to be found on any Object. Performs multiple searches against the Searches against this sting and parts thereof. Uses Get-AzureAd-User -SearchString and Get-AzureAdUser -Filter and subsequently Get-AzureAdUser -ObjectType</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
        <dev:type>
          <maml:name>String[]</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.String</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>Microsoft.Open.AzureAD.Model.User</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>None</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>Find-AzureAdUser [-Search] "John"</dev:code>
        <dev:remarks>
          <maml:para>Will search for the string "John" and return all Azure AD Objects found If nothing has been found, will try to search for by identity</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title>
        <dev:code>Find-AzureAdUser [-Search] "John@domain.com"</dev:code>
        <dev:remarks>
          <maml:para>Will search for the string "John@domain.com" and return all Azure AD Objects found If nothing has been found, will try to search for by identity</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 3 --------------------------</maml:title>
        <dev:code>Find-AzureAdUser -Identity John@domain.com,Mary@domain.com</dev:code>
        <dev:remarks>
          <maml:para>Will search for the string "John@domain.com" and return all Azure AD Objects found</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Find-AzureAdUser.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Find-AzureAdUser.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_UserManagement.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_UserManagement.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Find-TeamsCallableEntity</command:name>
      <command:verb>Find</command:verb>
      <command:noun>TeamsCallableEntity</command:noun>
      <maml:description>
        <maml:para>Finds all Call Queues where a specific User is an Agent</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Finding all Call Queues where a User is linked as an Agent, as an OverflowActionTarget or as a TimeoutActionTarget</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Find-TeamsCallableEntity</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases="ObjectId, UserPrincipalName">
          <maml:name>Identity</maml:name>
          <maml:description>
            <maml:para>Required. Callable Entity Object to be found (Tel URI, User, Group, Resource Account)</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
          <dev:type>
            <maml:name>String[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Scope</maml:name>
          <maml:description>
            <maml:para>Optional. Limits searches to Call Queues, Auto Attendants or both (All) - Currently Hardcoded to CallQueue until development finishes</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>All</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases="ObjectId, UserPrincipalName">
        <maml:name>Identity</maml:name>
        <maml:description>
          <maml:para>Required. Callable Entity Object to be found (Tel URI, User, Group, Resource Account)</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
        <dev:type>
          <maml:name>String[]</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>Scope</maml:name>
        <maml:description>
          <maml:para>Optional. Limits searches to Call Queues, Auto Attendants or both (All) - Currently Hardcoded to CallQueue until development finishes</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>All</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.String</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>Finding linked agents is useful if the Call Queues are in an unusable state. This happens if a User is unlicensed, disabled for Enterprise Voice or disabled completely while still being targeted as an Agent or for Overflow or Timeout.</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>Find-TeamsCallableEntity "John@domain.com" [-Scope All]</dev:code>
        <dev:remarks>
          <maml:para>Finds all Call Queues or Auto Attendants in which John is an Agent, OverflowTarget or TimeoutTarget, Menu Option, Operator, etc.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title>
        <dev:code>Find-TeamsCallableEntity "MyGroup@domain.com" -Scope CallQueue</dev:code>
        <dev:remarks>
          <maml:para>Finds all Call Queues in which My Group is linked as an Agent Group, OverflowTarget or TimeoutTarget</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 3 --------------------------</maml:title>
        <dev:code>Find-TeamsCallableEntity "tel:+15551234567" -Scope AutoAttendant</dev:code>
        <dev:remarks>
          <maml:para>Finds all Auto Attendants in which the Tel URI is linked as an Operator, Menu Option, etc.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Find-TeamsCallableEntity.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Find-TeamsCallableEntity.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_TeamsAutoAttendant.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_TeamsAutoAttendant.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_TeamsCallQueue.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_TeamsCallQueue.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_UserManagement.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_UserManagement.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Find-TeamsEmergencyCallRoute</command:name>
      <command:verb>Find</command:verb>
      <command:noun>TeamsEmergencyCallRoute</command:noun>
      <maml:description>
        <maml:para>Returns Voice Route for a Site or Subnet and a dialed emergency number</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Returns a custom object detailing voice routing information for one or more Sites or Subnets and a dialed Emergency number. User information also adds validation for static emergency calling options and validates configuration of the users Tenant Dial Plan.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Find-TeamsEmergencyCallRoute</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="named" aliases="ObjectId, Identity">
          <maml:name>UserPrincipalName</maml:name>
          <maml:description>
            <maml:para>Optional. Username or UserPrincipalname of the User to query Online Voice Routing Policy and Tenant Dial Plan User must have a valid Voice Configuration applied for this script to return a valuable result If not provided, only dynamic assignment of Emergency Call Routing Policy (through Network Site) is queried.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
          <dev:type>
            <maml:name>String[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="Number">
          <maml:name>DialedNumber</maml:name>
          <maml:description>
            <maml:para>Required. Emergency Number as entered in the Dial Pad. The effective Dial Plan is queried as a start. Then, application of an Emergency Call Routing Policy is determined through static (User) or dynamic (Site/Subnet) assignment Accepts multiple Numbers to dial - one object is returned for each number dialed and each Site or Subnet provided.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="Site">
          <maml:name>NetworkSite</maml:name>
          <maml:description>
            <maml:para>Required for ParameterSet NetworkSite. Name of a Network Site configured in the Network Topology of the Teams Tenant One or more exact names (NetworkSiteId) are required.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
          <dev:type>
            <maml:name>String[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <command:syntaxItem>
        <maml:name>Find-TeamsEmergencyCallRoute</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="named" aliases="ObjectId, Identity">
          <maml:name>UserPrincipalName</maml:name>
          <maml:description>
            <maml:para>Optional. Username or UserPrincipalname of the User to query Online Voice Routing Policy and Tenant Dial Plan User must have a valid Voice Configuration applied for this script to return a valuable result If not provided, only dynamic assignment of Emergency Call Routing Policy (through Network Site) is queried.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
          <dev:type>
            <maml:name>String[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="Number">
          <maml:name>DialedNumber</maml:name>
          <maml:description>
            <maml:para>Required. Emergency Number as entered in the Dial Pad. The effective Dial Plan is queried as a start. Then, application of an Emergency Call Routing Policy is determined through static (User) or dynamic (Site/Subnet) assignment Accepts multiple Numbers to dial - one object is returned for each number dialed and each Site or Subnet provided.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="Subnet">
          <maml:name>NetworkSubnet</maml:name>
          <maml:description>
            <maml:para>Required for ParameterSet NetworkSubnet. Name of a Network Subnet configured in the Network Topology of the Teams Tenant One or more exact names (Subnet Id) are required to determine the corresponding Network Site(s). Site is used going forward.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
          <dev:type>
            <maml:name>String[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="named" aliases="ObjectId, Identity">
        <maml:name>UserPrincipalName</maml:name>
        <maml:description>
          <maml:para>Optional. Username or UserPrincipalname of the User to query Online Voice Routing Policy and Tenant Dial Plan User must have a valid Voice Configuration applied for this script to return a valuable result If not provided, only dynamic assignment of Emergency Call Routing Policy (through Network Site) is queried.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
        <dev:type>
          <maml:name>String[]</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="Number">
        <maml:name>DialedNumber</maml:name>
        <maml:description>
          <maml:para>Required. Emergency Number as entered in the Dial Pad. The effective Dial Plan is queried as a start. Then, application of an Emergency Call Routing Policy is determined through static (User) or dynamic (Site/Subnet) assignment Accepts multiple Numbers to dial - one object is returned for each number dialed and each Site or Subnet provided.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="Site">
        <maml:name>NetworkSite</maml:name>
        <maml:description>
          <maml:para>Required for ParameterSet NetworkSite. Name of a Network Site configured in the Network Topology of the Teams Tenant One or more exact names (NetworkSiteId) are required.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
        <dev:type>
          <maml:name>String[]</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="Subnet">
        <maml:name>NetworkSubnet</maml:name>
        <maml:description>
          <maml:para>Required for ParameterSet NetworkSubnet. Name of a Network Subnet configured in the Network Topology of the Teams Tenant One or more exact names (Subnet Id) are required to determine the corresponding Network Site(s). Site is used going forward.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
        <dev:type>
          <maml:name>String[]</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.String</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>This is an evolution to Find-TeamsUserVoiceRouting, focusing solely on Emergency Services calls. Inspired by Test-CsOnlineUserVoiceRouting by Lee Ford - https://www.lee-ford.co.uk</maml:para>
        <maml:para>Emergency Call Routing can be performed multiple ways. This CmdLet tries to determine the effective state for the given combination of Dialed Emergency Number</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>Find-TeamsEmergencyCallRoute -NetworkSite Bogota -DialedNumber 112</dev:code>
        <dev:remarks>
          <maml:para>Finds the route for an emergency call to 112 for the Site Bogota. Only determines dynamic assignments</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title>
        <dev:code>Find-TeamsEmergencyCallRoute -NetworkSite Bogota -DialedNumber 112 -UserPrincipalName John@domain.com</dev:code>
        <dev:remarks>
          <maml:para>Finds the route for an emergency call to 112 for the Site Bogota for the User John@domain.com. Determines dynamic assignments (ECRP assigned to Site) as well as static assignments (ECRP assigned to user)</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 3 --------------------------</maml:title>
        <dev:code>Find-TeamsEmergencyCallRoute -NetworkSubnet 10.1.15.0 -DialedNumber 112</dev:code>
        <dev:remarks>
          <maml:para>Finds the route for an emergency call to 112 for the Site in which the Subnet 10.1.15.0 is linked in</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 4 --------------------------</maml:title>
        <dev:code>Find-TeamsEmergencyCallRoute -NetworkSubnet Bogota -DialedNumber 112 -UserPrincipalName John@domain.com</dev:code>
        <dev:remarks>
          <maml:para>Finds the route for an emergency call to 112 for the Site in which the Subnet 10.1.15.0 is linked in for the User John@domain.com. Determines dynamic assignments (ECRP assigned to Site) as well as static assignments (ECRP assigned to user)</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 5 --------------------------</maml:title>
        <dev:code>Find-TeamsEmergencyCallRoute -NetworkSite Bogota,Lima,Quito -DialedNumber 112</dev:code>
        <dev:remarks>
          <maml:para>Finds the route for an emergency call to 112 for the Sites Bogota, Lima &amp; Quito. Only determines dynamic assignments</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 6 --------------------------</maml:title>
        <dev:code>Find-TeamsEmergencyCallRoute -NetworkSubnet 10.1.15.0,10.1.20.0,10.1.27.0 -DialedNumber 112</dev:code>
        <dev:remarks>
          <maml:para>Finds the route for an emergency call to 112 for the Sites each of these subnets are linked in. Only determines dynamic assignments</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 7 --------------------------</maml:title>
        <dev:code>Find-TeamsEmergencyCallRoute -NetworkSite Bogota,Lima,Quito -DialedNumber 112 -UserPrincipalName John@domain.com</dev:code>
        <dev:remarks>
          <maml:para>Finds the route for an emergency call to 112 for the Sites Bogota, Lima &amp; Quito for the User John@domain.com. Determines dynamic assignments (ECRP assigned to Site) as well as static assignments (ECRP assigned to user)</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 8 --------------------------</maml:title>
        <dev:code>Find-TeamsEmergencyCallRoute -NetworkSubnet 10.1.15.0,10.1.20.0,10.1.27.0 -DialedNumber 112 -UserPrincipalName John@domain.com</dev:code>
        <dev:remarks>
          <maml:para>Finds the route for an emergency call to 112 for the Sites each of these subnets are linked in for the User John@domain.com. Determines dynamic assignments (ECRP assigned to Site) as well as static assignments (ECRP assigned to user)</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Find-TeamsEmergencyCallRoute.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Find-TeamsEmergencyCallRoute.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Find-TeamsUserVoiceRoute.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Find-TeamsUserVoiceRoute.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_VoiceConfiguration.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_VoiceConfiguration.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Find-TeamsResourceAccount</command:name>
      <command:verb>Find</command:verb>
      <command:noun>TeamsResourceAccount</command:noun>
      <maml:description>
        <maml:para>Finds Resource Accounts from AzureAD</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Returns Resource Accounts based on input (Search String). This runs Find-CsOnlineApplicationInstance but reformats the Output with friendly names</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Find-TeamsResourceAccount</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>SearchQuery</maml:name>
          <maml:description>
            <maml:para>Required. Positional. Part of the DisplayName of the Account.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="Assigned, InUse">
          <maml:name>AssociatedOnly</maml:name>
          <maml:description>
            <maml:para>Optional. Considers only associated Resource Accounts</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <command:syntaxItem>
        <maml:name>Find-TeamsResourceAccount</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>SearchQuery</maml:name>
          <maml:description>
            <maml:para>Required. Positional. Part of the DisplayName of the Account.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="Unassigned, Free">
          <maml:name>UnAssociatedOnly</maml:name>
          <maml:description>
            <maml:para>Optional. Considers only unassociated Resource Accounts</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>SearchQuery</maml:name>
        <maml:description>
          <maml:para>Required. Positional. Part of the DisplayName of the Account.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="Assigned, InUse">
        <maml:name>AssociatedOnly</maml:name>
        <maml:description>
          <maml:para>Optional. Considers only associated Resource Accounts</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="Unassigned, Free">
        <maml:name>UnAssociatedOnly</maml:name>
        <maml:description>
          <maml:para>Optional. Considers only unassociated Resource Accounts</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.String</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>None</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>Find-TeamsResourceAccount -SearchQuery "Office"</dev:code>
        <dev:remarks>
          <maml:para>Returns all Resource Accounts with "Office" as part of their DisplayName</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title>
        <dev:code>Find-TeamsResourceAccount -SearchQuery "Office" -AssociatedOnly</dev:code>
        <dev:remarks>
          <maml:para>Returns all associated Resource Accounts with "Office" as part of their DisplayName</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 3 --------------------------</maml:title>
        <dev:code>Find-TeamsResourceAccount -SearchQuery "Office" -UnAssociatedOnly</dev:code>
        <dev:remarks>
          <maml:para>Returns all unassociated Resource Accounts with "Office" as part of their DisplayName</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Find-TeamsResourceAccount.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Find-TeamsResourceAccount.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_TeamsResourceAccount.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_TeamsResourceAccount.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Find-TeamsUserVoiceConfig</command:name>
      <command:verb>Find</command:verb>
      <command:noun>TeamsUserVoiceConfig</command:noun>
      <maml:description>
        <maml:para>Displays User Accounts matching a specific Voice Configuration Parameter</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Returns UserPrincipalNames of Objects matching specific parameters. For PhoneNumbers also displays their basic Voice Configuration Search parameters are mutually exclusive, only one Parameter can be specified at the same time. Available parameters are: - PhoneNumber: Part of the LineURI (ideally without 'tel:','+' or ';ext=...')</maml:para>
      <maml:para>- ConfigurationType: 'CallPlans' or 'DirectRouting'.</maml:para>
      <maml:para>Will deliver partially configured accounts as well. - VoicePolicy: 'BusinessVoice' (CallPlans) or 'HybridVoice' (DirectRouting or any other Hybrid PSTN configuration)</maml:para>
      <maml:para>- OnlineVoiceRoutingPolicy: Any string value (incl.</maml:para>
      <maml:para>$Null), but not empty ones. - TenantDialPlan: Any string value (incl. $Null), but not empty ones.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Find-TeamsUserVoiceConfig</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="ObjectId, Identity">
          <maml:name>UserPrincipalName</maml:name>
          <maml:description>
            <maml:para>Optional. UserPrincipalName (UPN) of the User Behaves like Get-TeamsUserVoiceConfig, displaying the Users Voice Configuration</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>ValidateLicense</maml:name>
          <maml:description>
            <maml:para>Optional. In addition to validation of Parameters, also validates License assignment for the found user(s). This Parameter will initiate a quick check against the PhoneSystem License of each found account and will only return objects that are correctly configured License Check is performed AFTER parameters are verified.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>IncludeTotalCount</maml:name>
          <maml:description>
            <maml:para>Reports the total number of objects in the data set (an integer) followed by the selected objects. If the cmdlet cannot determine the total count, it displays "Unknown total count." The integer has an Accuracy property that indicates the reliability of the total count value. The value of Accuracy ranges from 0.0 to 1.0 where 0.0 means that the cmdlet could not count the objects, 1.0 means that the count is exact, and a value between 0.0 and 1.0 indicates an increasingly reliable estimate.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Skip</maml:name>
          <maml:description>
            <maml:para>Ignores the specified number of objects and then gets the remaining objects. Enter the number of objects to skip.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">UInt64</command:parameterValue>
          <dev:type>
            <maml:name>UInt64</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>First</maml:name>
          <maml:description>
            <maml:para>Gets only the specified number of objects. Enter the number of objects to get.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">UInt64</command:parameterValue>
          <dev:type>
            <maml:name>UInt64</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <command:syntaxItem>
        <maml:name>Find-TeamsUserVoiceConfig</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases="Number, TelephoneNumber, Tel, LineURI">
          <maml:name>PhoneNumber</maml:name>
          <maml:description>
            <maml:para>Optional. Searches all Users matching the given String in their LineURI. The expected ResultSize is limited, the full Object is displayed (Get-TeamsUserVoiceConfig) Please see NOTES for details</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>ValidateLicense</maml:name>
          <maml:description>
            <maml:para>Optional. In addition to validation of Parameters, also validates License assignment for the found user(s). This Parameter will initiate a quick check against the PhoneSystem License of each found account and will only return objects that are correctly configured License Check is performed AFTER parameters are verified.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>IncludeTotalCount</maml:name>
          <maml:description>
            <maml:para>Reports the total number of objects in the data set (an integer) followed by the selected objects. If the cmdlet cannot determine the total count, it displays "Unknown total count." The integer has an Accuracy property that indicates the reliability of the total count value. The value of Accuracy ranges from 0.0 to 1.0 where 0.0 means that the cmdlet could not count the objects, 1.0 means that the count is exact, and a value between 0.0 and 1.0 indicates an increasingly reliable estimate.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Skip</maml:name>
          <maml:description>
            <maml:para>Ignores the specified number of objects and then gets the remaining objects. Enter the number of objects to skip.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">UInt64</command:parameterValue>
          <dev:type>
            <maml:name>UInt64</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>First</maml:name>
          <maml:description>
            <maml:para>Gets only the specified number of objects. Enter the number of objects to get.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">UInt64</command:parameterValue>
          <dev:type>
            <maml:name>UInt64</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <command:syntaxItem>
        <maml:name>Find-TeamsUserVoiceConfig</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="Ext">
          <maml:name>Extension</maml:name>
          <maml:description>
            <maml:para>String to be found in any of the PhoneNumber fields as an Extension</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>ValidateLicense</maml:name>
          <maml:description>
            <maml:para>Optional. In addition to validation of Parameters, also validates License assignment for the found user(s). This Parameter will initiate a quick check against the PhoneSystem License of each found account and will only return objects that are correctly configured License Check is performed AFTER parameters are verified.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>IncludeTotalCount</maml:name>
          <maml:description>
            <maml:para>Reports the total number of objects in the data set (an integer) followed by the selected objects. If the cmdlet cannot determine the total count, it displays "Unknown total count." The integer has an Accuracy property that indicates the reliability of the total count value. The value of Accuracy ranges from 0.0 to 1.0 where 0.0 means that the cmdlet could not count the objects, 1.0 means that the count is exact, and a value between 0.0 and 1.0 indicates an increasingly reliable estimate.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Skip</maml:name>
          <maml:description>
            <maml:para>Ignores the specified number of objects and then gets the remaining objects. Enter the number of objects to skip.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">UInt64</command:parameterValue>
          <dev:type>
            <maml:name>UInt64</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>First</maml:name>
          <maml:description>
            <maml:para>Gets only the specified number of objects. Enter the number of objects to get.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">UInt64</command:parameterValue>
          <dev:type>
            <maml:name>UInt64</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <command:syntaxItem>
        <maml:name>Find-TeamsUserVoiceConfig</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="OVP">
          <maml:name>OnlineVoiceRoutingPolicy</maml:name>
          <maml:description>
            <maml:para>Optional. Searches all enabled Users which have the OnlineVoiceRoutingPolicy specified assigned. Please specify full and correct name or '$null' to receive all Users without one The expected ResultSize is big, therefore only UserPrincipalNames are returned Please see NOTES for details</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>ValidateLicense</maml:name>
          <maml:description>
            <maml:para>Optional. In addition to validation of Parameters, also validates License assignment for the found user(s). This Parameter will initiate a quick check against the PhoneSystem License of each found account and will only return objects that are correctly configured License Check is performed AFTER parameters are verified.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>IncludeTotalCount</maml:name>
          <maml:description>
            <maml:para>Reports the total number of objects in the data set (an integer) followed by the selected objects. If the cmdlet cannot determine the total count, it displays "Unknown total count." The integer has an Accuracy property that indicates the reliability of the total count value. The value of Accuracy ranges from 0.0 to 1.0 where 0.0 means that the cmdlet could not count the objects, 1.0 means that the count is exact, and a value between 0.0 and 1.0 indicates an increasingly reliable estimate.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Skip</maml:name>
          <maml:description>
            <maml:para>Ignores the specified number of objects and then gets the remaining objects. Enter the number of objects to skip.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">UInt64</command:parameterValue>
          <dev:type>
            <maml:name>UInt64</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>First</maml:name>
          <maml:description>
            <maml:para>Gets only the specified number of objects. Enter the number of objects to get.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">UInt64</command:parameterValue>
          <dev:type>
            <maml:name>UInt64</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <command:syntaxItem>
        <maml:name>Find-TeamsUserVoiceConfig</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="TDP">
          <maml:name>TenantDialPlan</maml:name>
          <maml:description>
            <maml:para>Optional. Searches all enabled Users which have the TenantDialPlan specified assigned. Please specify full and correct name or '$null' to receive all Users without one The expected ResultSize is big, therefore only UserPrincipalNames are returned Please see NOTES for details</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>ValidateLicense</maml:name>
          <maml:description>
            <maml:para>Optional. In addition to validation of Parameters, also validates License assignment for the found user(s). This Parameter will initiate a quick check against the PhoneSystem License of each found account and will only return objects that are correctly configured License Check is performed AFTER parameters are verified.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>IncludeTotalCount</maml:name>
          <maml:description>
            <maml:para>Reports the total number of objects in the data set (an integer) followed by the selected objects. If the cmdlet cannot determine the total count, it displays "Unknown total count." The integer has an Accuracy property that indicates the reliability of the total count value. The value of Accuracy ranges from 0.0 to 1.0 where 0.0 means that the cmdlet could not count the objects, 1.0 means that the count is exact, and a value between 0.0 and 1.0 indicates an increasingly reliable estimate.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Skip</maml:name>
          <maml:description>
            <maml:para>Ignores the specified number of objects and then gets the remaining objects. Enter the number of objects to skip.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">UInt64</command:parameterValue>
          <dev:type>
            <maml:name>UInt64</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>First</maml:name>
          <maml:description>
            <maml:para>Gets only the specified number of objects. Enter the number of objects to get.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">UInt64</command:parameterValue>
          <dev:type>
            <maml:name>UInt64</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="ObjectId, Identity">
        <maml:name>UserPrincipalName</maml:name>
        <maml:description>
          <maml:para>Optional. UserPrincipalName (UPN) of the User Behaves like Get-TeamsUserVoiceConfig, displaying the Users Voice Configuration</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases="Number, TelephoneNumber, Tel, LineURI">
        <maml:name>PhoneNumber</maml:name>
        <maml:description>
          <maml:para>Optional. Searches all Users matching the given String in their LineURI. The expected ResultSize is limited, the full Object is displayed (Get-TeamsUserVoiceConfig) Please see NOTES for details</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="Ext">
        <maml:name>Extension</maml:name>
        <maml:description>
          <maml:para>String to be found in any of the PhoneNumber fields as an Extension</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="OVP">
        <maml:name>OnlineVoiceRoutingPolicy</maml:name>
        <maml:description>
          <maml:para>Optional. Searches all enabled Users which have the OnlineVoiceRoutingPolicy specified assigned. Please specify full and correct name or '$null' to receive all Users without one The expected ResultSize is big, therefore only UserPrincipalNames are returned Please see NOTES for details</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="TDP">
        <maml:name>TenantDialPlan</maml:name>
        <maml:description>
          <maml:para>Optional. Searches all enabled Users which have the TenantDialPlan specified assigned. Please specify full and correct name or '$null' to receive all Users without one The expected ResultSize is big, therefore only UserPrincipalNames are returned Please see NOTES for details</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>ValidateLicense</maml:name>
        <maml:description>
          <maml:para>Optional. In addition to validation of Parameters, also validates License assignment for the found user(s). This Parameter will initiate a quick check against the PhoneSystem License of each found account and will only return objects that are correctly configured License Check is performed AFTER parameters are verified.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>IncludeTotalCount</maml:name>
        <maml:description>
          <maml:para>Reports the total number of objects in the data set (an integer) followed by the selected objects. If the cmdlet cannot determine the total count, it displays "Unknown total count." The integer has an Accuracy property that indicates the reliability of the total count value. The value of Accuracy ranges from 0.0 to 1.0 where 0.0 means that the cmdlet could not count the objects, 1.0 means that the count is exact, and a value between 0.0 and 1.0 indicates an increasingly reliable estimate.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>Skip</maml:name>
        <maml:description>
          <maml:para>Ignores the specified number of objects and then gets the remaining objects. Enter the number of objects to skip.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">UInt64</command:parameterValue>
        <dev:type>
          <maml:name>UInt64</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>First</maml:name>
        <maml:description>
          <maml:para>Gets only the specified number of objects. Enter the number of objects to get.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">UInt64</command:parameterValue>
        <dev:type>
          <maml:name>UInt64</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.String</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.String - UserPrincipalName - With any Parameter except Identity or PhoneNumber</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object - With Parameter Identity or PhoneNumber</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>All searches are filtering on Get-CsOnlineUser and are supporting paging This usually should not take longer than a minute to complete. If more than three results are found, only the UserPrincipalNames of the objects are returned Otherwise, the object queries the full output through Get-TeamsUserVoiceConfig</maml:para>
        <maml:para>Search behaviour: - PhoneNumber: Searches against the LineURI parameter. For best compatibility, provide in E.164 format (with or without the +) This script can find duplicate assignments if the Number was assigned with and without an extension. - Extension: Searches against the LineURI parameter and considers all strings after ";ext=" an extension. This script can find duplicate assignments if the Extension was assigned to multiple Numbers. - ConfigurationType: Filtering based on Microsofts Documentation for DirectRouting, SkypeForBusiness Hybrid PSTN and CallingPlans</maml:para>
        <maml:para>- OnlineVoiceRoutingPolicy: Finds all users which have this particular Policy assigned</maml:para>
        <maml:para>- TenantDialPlan: Finds all users which have this particular DialPlan assigned.</maml:para>
        <maml:para>Please see Related Link for more information</maml:para>
        <maml:para>Output is designed to be piped to Get-TeamsUserVoiceConfiguration for full evaluation of Licenses and configuration.</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>Find-TeamsUserVoiceConfig -UserPrincipalName John@domain.com</dev:code>
        <dev:remarks>
          <maml:para>Shows Voice Configuration for John, returning the full Object (query with Get-TeamsUserVoiceConfig)</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title>
        <dev:code>Find-TeamsUserVoiceConfig -PhoneNumber "15551234567"</dev:code>
        <dev:remarks>
          <maml:para>Shows all Users which have this String in their LineURI (TelephoneNumber or LineURI) The expected ResultSize is limited, if only one result is shown, the full Object is returned (Get-TeamsUserVoiceConfig) Please see NOTES for details</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 3 --------------------------</maml:title>
        <dev:code>Find-TeamsUserVoiceConfig -ConfigurationType DirectRouting</dev:code>
        <dev:remarks>
          <maml:para>Shows all Users which are configured for DirectRouting The expected ResultSize is big Please see NOTES for details</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 4 --------------------------</maml:title>
        <dev:code>Find-TeamsUserVoiceConfig -VoicePolicy BusinessVoice</dev:code>
        <dev:remarks>
          <maml:para>Shows all Users which are configured for PhoneSystem with CallingPlans The expected ResultSize is big, therefore only Names (UPNs) of Users are displayed Please see NOTES and LINK for details</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 5 --------------------------</maml:title>
        <dev:code>Find-TeamsUserVoiceConfig -OnlineVoiceRoutingPolicy O_VP_EMEA -First 300</dev:code>
        <dev:remarks>
          <maml:para>Shows all Users which have the OnlineVoiceRoutingPolicy "O_VP_EMEA" assigned Depending on the Size of your tenant, the expected ResultSize is big, paging parameters can help reduce output Please see NOTES for details</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 6 --------------------------</maml:title>
        <dev:code>Find-TeamsUserVoiceConfig -TenantDialPlan DP-US</dev:code>
        <dev:remarks>
          <maml:para>Shows all Users which have the TenantDialPlan "DP-US" assigned. Please see NOTES for details</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Find-TeamsUserVoiceConfig.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Find-TeamsUserVoiceConfig.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_VoiceConfiguration.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_VoiceConfiguration.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_UserManagement.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_UserManagement.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://docs.microsoft.com/en-us/microsoftteams/direct-routing-migrating</maml:linkText>
        <maml:uri>https://docs.microsoft.com/en-us/microsoftteams/direct-routing-migrating</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Find-TeamsUserVoiceRoute</command:name>
      <command:verb>Find</command:verb>
      <command:noun>TeamsUserVoiceRoute</command:noun>
      <maml:description>
        <maml:para>Returns Voice Route for a User and a dialed number</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Returns a custom object detailing voice routing information for a User If a Dialed Number is provided, also normalises the number and returns the effective Tenant Dial Plan</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Find-TeamsUserVoiceRoute</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="1" aliases="none">
          <maml:name>Object</maml:name>
          <maml:description>
            <maml:para>Required for Parameterset Object. CsOnlineUser Object passed to the function to reduce query time. User must have a valid Voice Configuration applied for this script to return a valuable result</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Object[]</command:parameterValue>
          <dev:type>
            <maml:name>Object[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="Number">
          <maml:name>DialedNumber</maml:name>
          <maml:description>
            <maml:para>Optional. Number entered in the Dial Pad. If not provided, the first Voice Route will be chosen. If provided, number will be normalised and the effective Dial Plan queried. A matching Route will be found for this number will be queried Accepts multiple Numbers to dial - one object returned for each number dialed.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
          <dev:type>
            <maml:name>String[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <command:syntaxItem>
        <maml:name>Find-TeamsUserVoiceRoute</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases="ObjectId, Identity">
          <maml:name>UserPrincipalName</maml:name>
          <maml:description>
            <maml:para>Required for Parameterset UserPrincipalName. UserPrincipalName of the User to query. User must have a valid Voice Configuration applied for this script to return a valuable result</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
          <dev:type>
            <maml:name>String[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="Number">
          <maml:name>DialedNumber</maml:name>
          <maml:description>
            <maml:para>Optional. Number entered in the Dial Pad. If not provided, the first Voice Route will be chosen. If provided, number will be normalised and the effective Dial Plan queried. A matching Route will be found for this number will be queried Accepts multiple Numbers to dial - one object returned for each number dialed.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
          <dev:type>
            <maml:name>String[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="1" aliases="none">
        <maml:name>Object</maml:name>
        <maml:description>
          <maml:para>Required for Parameterset Object. CsOnlineUser Object passed to the function to reduce query time. User must have a valid Voice Configuration applied for this script to return a valuable result</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Object[]</command:parameterValue>
        <dev:type>
          <maml:name>Object[]</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases="ObjectId, Identity">
        <maml:name>UserPrincipalName</maml:name>
        <maml:description>
          <maml:para>Required for Parameterset UserPrincipalName. UserPrincipalName of the User to query. User must have a valid Voice Configuration applied for this script to return a valuable result</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
        <dev:type>
          <maml:name>String[]</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="Number">
        <maml:name>DialedNumber</maml:name>
        <maml:description>
          <maml:para>Optional. Number entered in the Dial Pad. If not provided, the first Voice Route will be chosen. If provided, number will be normalised and the effective Dial Plan queried. A matching Route will be found for this number will be queried Accepts multiple Numbers to dial - one object returned for each number dialed.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
        <dev:type>
          <maml:name>String[]</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.String</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>This is a slightly more intricate on Voice routing, enabling comparisons for multiple users. Based on and inspired by Test-CsOnlineUserVoiceRouting by Lee Ford - https://www.lee-ford.co.uk</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>Find-TeamsUserVoiceRoute -Identity John@domain.com</dev:code>
        <dev:remarks>
          <maml:para>Finds the Voice Route any call for this user may take. First match (Voice Route with the highest priority) will be returned</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title>
        <dev:code>Find-TeamsUserVoiceRoute -Identity John@domain.com -DialledNumber "+1(555) 1234-567"</dev:code>
        <dev:remarks>
          <maml:para>Finds the Voice Route a call to the normalised Number +15551234567 for this user may take. The matching Voice Route will be returned</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 3 --------------------------</maml:title>
        <dev:code>Find-TeamsUserVoiceRoute -Identity John@domain.com -DialledNumber "911","+1(555) 1234-567"</dev:code>
        <dev:remarks>
          <maml:para>Finds the Voice Route a call to 911 and the normalised Number +15551234567 for this user may take. The matching Voice Route will be returned Returns one object for each number as they might be routed through different entities</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Find-TeamsUserVoiceRoute.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Find-TeamsUserVoiceRoute.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Find-TeamsEmergencyCallRoute.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Find-TeamsEmergencyCallRoute.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Get-TeamsVoiceRoutingChain.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Get-TeamsVoiceRoutingChain.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_VoiceConfiguration.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_VoiceConfiguration.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Format-StringForUse</command:name>
      <command:verb>Format</command:verb>
      <command:noun>StringForUse</command:noun>
      <maml:description>
        <maml:para>Formats a string by removing special characters usually not allowed.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Special Characters in strings usually lead to terminating errors. This function gets around that by formating the string properly. Use is limited, but can be used for UPNs and Display Names Adheres to Microsoft recommendation of special Characters</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Format-StringForUse</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="1" aliases="none">
          <maml:name>InputString</maml:name>
          <maml:description>
            <maml:para>Mandatory. The string to be reformatted</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Replacement</maml:name>
          <maml:description>
            <maml:para>Optional String. Manually replaces removed characters with this string.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>As</maml:name>
          <maml:description>
            <maml:para>Desired Output Format: DisplayName, UserPrincipalName, Number, E164, LineUri. Uses predefined special characters to remove Cannot be used together with -SpecialChars</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <command:syntaxItem>
        <maml:name>Format-StringForUse</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="1" aliases="none">
          <maml:name>InputString</maml:name>
          <maml:description>
            <maml:para>Mandatory. The string to be reformatted</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Replacement</maml:name>
          <maml:description>
            <maml:para>Optional String. Manually replaces removed characters with this string.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>SpecialChars</maml:name>
          <maml:description>
            <maml:para>Default, Optional String. Manually define which special characters to remove. If not specified, only the following characters are removed: ?()[]{} Cannot be used together with -As</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>?()[]{}</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="1" aliases="none">
        <maml:name>InputString</maml:name>
        <maml:description>
          <maml:para>Mandatory. The string to be reformatted</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>Replacement</maml:name>
        <maml:description>
          <maml:para>Optional String. Manually replaces removed characters with this string.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>As</maml:name>
        <maml:description>
          <maml:para>Desired Output Format: DisplayName, UserPrincipalName, Number, E164, LineUri. Uses predefined special characters to remove Cannot be used together with -SpecialChars</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>SpecialChars</maml:name>
        <maml:description>
          <maml:para>Default, Optional String. Manually define which special characters to remove. If not specified, only the following characters are removed: ?()[]{} Cannot be used together with -As</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>?()[]{}</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.String</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.String</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>None</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>\Test(String)"</dev:code>
        <dev:remarks>
          <maml:para>Returns "&lt;my&gt;\TestString". All SpecialChars defined will be removed.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title>
        <dev:code>\Test(String)" -SpecialChars "\"</dev:code>
        <dev:remarks>
          <maml:para>Returns "myTest(String)". All SpecialChars defined will be removed.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 3 --------------------------</maml:title>
        <dev:code>\Test(String)" -As UserPrincipalName</dev:code>
        <dev:remarks>
          <maml:para>Returns "myTestString" for UserPrincipalName does not support any of the special characters</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 4 --------------------------</maml:title>
        <dev:code>\Test(String)" -As DisplayName</dev:code>
        <dev:remarks>
          <maml:para>Returns "myTest(String)" for DisplayName does not support some special characters</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 5 --------------------------</maml:title>
        <dev:code>Format-StringForUse -InputString "1 (555) 1234-567" -As E164</dev:code>
        <dev:remarks>
          <maml:para>Returns "+15551234567" for LineURI does not support spaces, dashes, parenthesis characters and must start with "+"</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 6 --------------------------</maml:title>
        <dev:code>Format-StringForUse -InputString "1 (555) 1234-567" -As LineURI</dev:code>
        <dev:remarks>
          <maml:para>Returns "tel:+15551234567" for LineURI does not support spaces, dashes, parenthesis characters and must start with "tel:+"</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Format-StringForUse.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Format-StringForUse.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_Supporting_Functions.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_Supporting_Functions.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Format-StringRemoveSpecialCharacter</command:name>
      <command:verb>Format</command:verb>
      <command:noun>StringRemoveSpecialCharacter</command:noun>
      <maml:description>
        <maml:para>This function will remove the special character from a string.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>This function will remove the special character from a string. I'm using Unicode Regular Expressions with the following categories \p{L} : any kind of letter from any language. \p{Nd} : a digit zero through nine in any script except ideographic http://www.regular-expressions.info/unicode.html http://unicode.org/reports/tr18/</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Format-StringRemoveSpecialCharacter</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="1" aliases="Text">
          <maml:name>String</maml:name>
          <maml:description>
            <maml:para>Specifies the String on which the special character will be removed</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
          <dev:type>
            <maml:name>String[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="Keep">
          <maml:name>SpecialCharacterToKeep</maml:name>
          <maml:description>
            <maml:para>Specifies the special character to keep in the output</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
          <dev:type>
            <maml:name>String[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="1" aliases="Text">
        <maml:name>String</maml:name>
        <maml:description>
          <maml:para>Specifies the String on which the special character will be removed</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
        <dev:type>
          <maml:name>String[]</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="Keep">
        <maml:name>SpecialCharacterToKeep</maml:name>
        <maml:description>
          <maml:para>Specifies the special character to keep in the output</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
        <dev:type>
          <maml:name>String[]</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.String</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.String</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>Originally written by: Francois-Xavier Cat @lazywinadmin lazywinadmin.com github.com/lazywinadmin</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>Format-StringRemoveSpecialCharacter -String "^&amp;*@wow*(&amp;(*&amp;@"</dev:code>
        <dev:remarks>
          <maml:para>wow</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title>
        <dev:code>Format-StringRemoveSpecialCharacter -String "wow#@!`~)(\|?/}{-_=+*"</dev:code>
        <dev:remarks>
          <maml:para>wow</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 3 --------------------------</maml:title>
        <dev:code>Format-StringRemoveSpecialCharacter -String "wow#@!`~)(\|?/}{-_=+*" -SpecialCharacterToKeep "*","_","-"</dev:code>
        <dev:remarks>
          <maml:para>wow-_*</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Format-StringRemoveSpecialCharacter.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Format-StringRemoveSpecialCharacter.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_Supporting_Functions.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_Supporting_Functions.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-AzureAdAdminRole</command:name>
      <command:verb>Get</command:verb>
      <command:noun>AzureAdAdminRole</command:noun>
      <maml:description>
        <maml:para>Queries Admin Roles assigned to an Object</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Azure Active Directory Admin Roles assigned to an Object Requires a Connection to AzureAd</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-AzureAdAdminRole</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases="UserPrincipalName, ObjectId">
          <maml:name>Identity</maml:name>
          <maml:description>
            <maml:para>Required. One or more UserPrincipalNames of the Office365 Administrator</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Type</maml:name>
          <maml:description>
            <maml:para>Optional. Switches query to All (Default), Eligible or Active Admin Roles This requires the Module AzureAdPreview installed</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>All</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>QueryGroupsOnly</maml:name>
          <maml:description>
            <maml:para>Optional. Switches query to Active (Default) or Eligible Admin Roles Limits the query to Active Directory Groups only. Does not require AzureAdPreview installed</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases="UserPrincipalName, ObjectId">
        <maml:name>Identity</maml:name>
        <maml:description>
          <maml:para>Required. One or more UserPrincipalNames of the Office365 Administrator</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>Type</maml:name>
        <maml:description>
          <maml:para>Optional. Switches query to All (Default), Eligible or Active Admin Roles This requires the Module AzureAdPreview installed</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>All</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>QueryGroupsOnly</maml:name>
        <maml:description>
          <maml:para>Optional. Switches query to Active (Default) or Eligible Admin Roles Limits the query to Active Directory Groups only. Does not require AzureAdPreview installed</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.String</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>Returns an Object containing all Admin Roles assigned to a User. This is intended as an informational for the User currently connected to a specific PS session (whoami and whatcanido) The Output can be used as baseline for other functions (-contains "Teams Service Admin")</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>Get-AzureAdAdminRole [-Identity] user@domain.com [-Type Active]</dev:code>
        <dev:remarks>
          <maml:para>Returns all active Admin Roles for the provided Identity</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title>
        <dev:code>Get-AzureAdAdminRole [-Identity] user@domain.com -Type Eligible</dev:code>
        <dev:remarks>
          <maml:para>Returns all eligible Admin Roles for the provided Identity</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Get-AzureAdAdminRole.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Get-AzureAdAdminRole.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_UserManagement.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_UserManagement.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-AzureAdLicense</command:name>
      <command:verb>Get</command:verb>
      <command:noun>AzureAdLicense</command:noun>
      <maml:description>
        <maml:para>License information for AzureAD Licenses related to Teams</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Returns an Object containing all Teams related Licenses</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-AzureAdLicense</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>SearchString</maml:name>
          <maml:description>
            <maml:para>Optional. Filters output for String found in Parameters ProductName or SkuPartNumber</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>FilterRelevantForTeams</maml:name>
          <maml:description>
            <maml:para>Optional. By default, shows all 365 Licenses Using this switch, shows only Licenses relevant for Teams</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>SearchString</maml:name>
        <maml:description>
          <maml:para>Optional. Filters output for String found in Parameters ProductName or SkuPartNumber</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>FilterRelevantForTeams</maml:name>
        <maml:description>
          <maml:para>Optional. By default, shows all 365 Licenses Using this switch, shows only Licenses relevant for Teams</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.String</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>Reads: https://docs.microsoft.com/en-us/azure/active-directory/users-groups-roles/licensing-service-plan-reference Source: https://scripting.up-in-the.cloud/licensing/o365-license-names-its-a-mess.html With very special thanks to Philip This CmdLet can assign one of Azure Ad Licenses. (see ParameterName) Please raise an issue on Github if you require additional Licenses for assignment</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>Get-AzureAdLicense</dev:code>
        <dev:remarks>
          <maml:para>Returns Azure AD Licenses that relate to Teams for use in other commands</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Get-AzureAdLicense.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Get-AzureAdLicense.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_Licensing.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_Licensing.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_UserManagement.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_UserManagement.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-AzureAdLicenseServicePlan</command:name>
      <command:verb>Get</command:verb>
      <command:noun>AzureAdLicenseServicePlan</command:noun>
      <maml:description>
        <maml:para>License information for AzureAD Service Plans related to Teams</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Returns an Object containing all Teams related License Service Plans</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-AzureAdLicenseServicePlan</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>SearchString</maml:name>
          <maml:description>
            <maml:para>Optional. Filters output for String found in Parameters ProductName or ServicePlanName</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>FilterRelevantForTeams</maml:name>
          <maml:description>
            <maml:para>Optional. By default, shows all 365 License Service Plans Using this switch, shows only Service Plans relevant for Teams</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>SearchString</maml:name>
        <maml:description>
          <maml:para>Optional. Filters output for String found in Parameters ProductName or ServicePlanName</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>FilterRelevantForTeams</maml:name>
        <maml:description>
          <maml:para>Optional. By default, shows all 365 License Service Plans Using this switch, shows only Service Plans relevant for Teams</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.String</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>Source https://scripting.up-in-the.cloud/licensing/o365-license-names-its-a-mess.html With very special thanks to Philip Reads https://docs.microsoft.com/en-us/azure/active-directory/users-groups-roles/licensing-service-plan-reference</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>Get-AzureAdLicenseServicePlan</dev:code>
        <dev:remarks>
          <maml:para>Returns Azure AD Licenses that relate to Teams for use in other commands</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Get-AzureAdLicenseServicePlan.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Get-AzureAdLicenseServicePlan.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_Licensing.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_Licensing.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_UserManagement.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_UserManagement.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-AzureAdUserLicense</command:name>
      <command:verb>Get</command:verb>
      <command:noun>AzureAdUserLicense</command:noun>
      <maml:description>
        <maml:para>Returns License information for an Object in AzureAD</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Returns an Object containing all Licenses found for a specific Object Licenses and ServicePlans are nested in the respective parameters for further investigation</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-AzureAdUserLicense</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases="ObjectId, Identity">
          <maml:name>UserPrincipalName</maml:name>
          <maml:description>
            <maml:para>The UserPrincipalname or ObjectId of the Object.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
          <dev:type>
            <maml:name>String[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>FilterRelevantForTeams</maml:name>
          <maml:description>
            <maml:para>Filters the output and displays only Licenses relevant to Teams</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases="ObjectId, Identity">
        <maml:name>UserPrincipalName</maml:name>
        <maml:description>
          <maml:para>The UserPrincipalname or ObjectId of the Object.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
        <dev:type>
          <maml:name>String[]</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>FilterRelevantForTeams</maml:name>
        <maml:description>
          <maml:para>Filters the output and displays only Licenses relevant to Teams</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.String</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>Requires a connection to Azure Active Directory</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>Get-AzureAdUserLicense [-UserPrincipalname] John@domain.com</dev:code>
        <dev:remarks>
          <maml:para>Displays all licenses assigned to User John@domain.com</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title>
        <dev:code>Get-AzureAdUserLicense -UserPrincipalname John@domain.com,Jane@domain.com</dev:code>
        <dev:remarks>
          <maml:para>Displays all licenses assigned to Users John@domain.com and Jane@domain.com</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 3 --------------------------</maml:title>
        <dev:code>Get-AzureAdUserLicense -UserPrincipalname Jane@domain.com -FilterRelevantForTeams</dev:code>
        <dev:remarks>
          <maml:para>Displays all relevant Teams licenses assigned to Jane@domain.com</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 4 --------------------------</maml:title>
        <dev:code>Import-Csv User.csv | Get-AzureAdUserLicense</dev:code>
        <dev:remarks>
          <maml:para>Displays all licenses assigned to Users from User.csv, Column UserPrincipalname, ObjectId or Identity. The input file must have a single column heading of "UserPrincipalname" with properly formatted UPNs.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Get-AzureAdUserLicense.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Get-AzureAdUserLicense.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_Licensing.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_Licensing.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_UserManagement.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_UserManagement.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-AzureAdUserLicenseServicePlan</command:name>
      <command:verb>Get</command:verb>
      <command:noun>AzureAdUserLicenseServicePlan</command:noun>
      <maml:description>
        <maml:para>Returns License information (ServicePlans) for an Object in AzureAD</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Returns an Object containing all ServicePlans (for Licenses assigned) for a specific Object</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-AzureAdUserLicenseServicePlan</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases="ObjectId, Identity">
          <maml:name>UserPrincipalName</maml:name>
          <maml:description>
            <maml:para>The UserPrincipalname or ObjectId of the Object.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
          <dev:type>
            <maml:name>String[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>FilterRelevantForTeams</maml:name>
          <maml:description>
            <maml:para>Filters the output and displays only Licenses relevant Teams Service Plans</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>FilterUnsuccessful</maml:name>
          <maml:description>
            <maml:para>Filters the output and displays only ServicePlans that don't have the ProvisioningStatus "Success"</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases="ObjectId, Identity">
        <maml:name>UserPrincipalName</maml:name>
        <maml:description>
          <maml:para>The UserPrincipalname or ObjectId of the Object.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
        <dev:type>
          <maml:name>String[]</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>FilterRelevantForTeams</maml:name>
        <maml:description>
          <maml:para>Filters the output and displays only Licenses relevant Teams Service Plans</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>FilterUnsuccessful</maml:name>
        <maml:description>
          <maml:para>Filters the output and displays only ServicePlans that don't have the ProvisioningStatus "Success"</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.String</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>Requires a connection to Azure Active Directory</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>Get-AzureAdUserLicenseServicePlan [-UserPrincipalname] John@domain.com</dev:code>
        <dev:remarks>
          <maml:para>Displays all Service Plans assigned through Licenses to User John@domain.com</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title>
        <dev:code>Get-AzureAdUserLicenseServicePlan -UserPrincipalname John@domain.com,Jane@domain.com</dev:code>
        <dev:remarks>
          <maml:para>Displays all Service Plans assigned through Licenses to Users John@domain.com and Jane@domain.com</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 3 --------------------------</maml:title>
        <dev:code>Get-AzureAdUserLicenseServicePlan -UserPrincipalname Jane@domain.com -FilterRelevantForTeams</dev:code>
        <dev:remarks>
          <maml:para>Displays all relevant Teams Service Plans assigned through Licenses to Jane@domain.com</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 4 --------------------------</maml:title>
        <dev:code>Get-AzureAdUserLicenseServicePlan -UserPrincipalname Jane@domain.com -FilterUnsuccessful</dev:code>
        <dev:remarks>
          <maml:para>Displays all Service Plans assigned through Licenses to Jane@domain.com that are not provisioned successfully</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 5 --------------------------</maml:title>
        <dev:code>Import-Csv User.csv | Get-AzureAdUserLicenseServicePlan</dev:code>
        <dev:remarks>
          <maml:para>Displays all Service Plans assigned through Licenses to Users from User.csv, Column UserPrincipalname, ObjectId or Identity. The input file must have a single column heading of "UserPrincipalname" with properly formatted UPNs.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Get-AzureAdUserLicenseServicePlan.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Get-AzureAdUserLicenseServicePlan.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_Licensing.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_Licensing.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_UserManagement.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_UserManagement.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-CurrentConnectionInfo</command:name>
      <command:verb>Get</command:verb>
      <command:noun>CurrentConnectionInfo</command:noun>
      <maml:description>
        <maml:para>Queries AzureAd, MicrosoftTeams and ExchangeOnline for currently established Sessions</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Returns an object displaying all currently connected PowerShell Sessions and basic output about the Tenant.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-CurrentConnectionInfo</maml:name>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters />
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>Information about a Service is only displayed if an active connection can be found</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>Get-CurrentConnectionInfo</dev:code>
        <dev:remarks>
          <maml:para>Will Test current connection to AzureAd, MicrosoftTeams and ExchangeOnline and displays simple output object.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Get-CurrentConnectionInfo.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Get-CurrentConnectionInfo.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_TeamsSession.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_TeamsSession.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-ISO3166Country</command:name>
      <command:verb>Get</command:verb>
      <command:noun>ISO3166Country</command:noun>
      <maml:description>
        <maml:para>ISO 3166 Country table. Period.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Returns the full ISO3166 Country table with Name, -alpha2, -alpha3 &amp; NUM code.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-ISO3166Country</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>TwoLetterCode</maml:name>
          <maml:description>
            <maml:para>ISO 3166-alpha2 - Two Letter Country Code. Returns exact match if found, nothing if not.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <command:syntaxItem>
        <maml:name>Get-ISO3166Country</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>ThreeLetterCode</maml:name>
          <maml:description>
            <maml:para>ISO 3166-alpha3 - Three Letter Country Code. Returns exact match if found, nothing if not.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <command:syntaxItem>
        <maml:name>Get-ISO3166Country</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>NumericCode</maml:name>
          <maml:description>
            <maml:para>ISO3166-num - Three digit Numeric Country Code. Returns exact match if found, nothing if not.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <command:syntaxItem>
        <maml:name>Get-ISO3166Country</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Region</maml:name>
          <maml:description>
            <maml:para>GeoRegion AMER, EMEA or APAC. Returns all countries that are matching this region.</maml:para>
          </maml:description>
          <command:parameterValueGroup>
            <command:parameterValue required="false" command:variableLength="false">AMER</command:parameterValue>
            <command:parameterValue required="false" command:variableLength="false">EMEA</command:parameterValue>
            <command:parameterValue required="false" command:variableLength="false">APAC</command:parameterValue>
          </command:parameterValueGroup>
          <command:parameterValue required="true" variableLength="false">GeoRegion</command:parameterValue>
          <dev:type>
            <maml:name>GeoRegion</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <command:syntaxItem>
        <maml:name>Get-ISO3166Country</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>TimeZone</maml:name>
          <maml:description>
            <maml:para>TimeZone. Returns all countries that are matching this Time Zone</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <command:syntaxItem>
        <maml:name>Get-ISO3166Country</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>DialCode</maml:name>
          <maml:description>
            <maml:para>DialCode. Returns the country that is matching this DialCode</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
          <dev:type>
            <maml:name>Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>TwoLetterCode</maml:name>
        <maml:description>
          <maml:para>ISO 3166-alpha2 - Two Letter Country Code. Returns exact match if found, nothing if not.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>ThreeLetterCode</maml:name>
        <maml:description>
          <maml:para>ISO 3166-alpha3 - Three Letter Country Code. Returns exact match if found, nothing if not.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>NumericCode</maml:name>
        <maml:description>
          <maml:para>ISO3166-num - Three digit Numeric Country Code. Returns exact match if found, nothing if not.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>Region</maml:name>
        <maml:description>
          <maml:para>GeoRegion AMER, EMEA or APAC. Returns all countries that are matching this region.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">GeoRegion</command:parameterValue>
        <dev:type>
          <maml:name>GeoRegion</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>TimeZone</maml:name>
        <maml:description>
          <maml:para>TimeZone. Returns all countries that are matching this Time Zone</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>DialCode</maml:name>
        <maml:description>
          <maml:para>DialCode. Returns the country that is matching this DialCode</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
        <dev:type>
          <maml:name>Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>0</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.Void</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>This CmdLet is created based on the C# definition of https://github.com/schourode/iso3166 Manually translated into PowerShell from source file https://raw.githubusercontent.com/schourode/iso3166/master/Country.cs Dataset last queried 31 JUL 2021 (based on last update of Github repo 08 JAN 2020) ISO3166-alpha2 is used as the Usage Location in Office 365</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>Get-ISO3166Country</dev:code>
        <dev:remarks>
          <maml:para>Returns the full table of Countries including TwoLetterCode (alpha2) &amp; ThreeLetterCode (alpha3) and NumericCode (NUM)</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title>
        <dev:code>Get-ISO3166Country -TwoLetterCode AZ</dev:code>
        <dev:remarks>
          <maml:para>Returns entry for Country "Azerbaijan" queried from the TwoLetterCode (ISO3166-Alpha2) AW</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 3 --------------------------</maml:title>
        <dev:code>Get-ISO3166Country -ThreeLetterCode BLZ</dev:code>
        <dev:remarks>
          <maml:para>Returns entry for Country "Belize" queried from the ThreeLetterCode (ISO3166-Alpha3) BLZ</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 4 --------------------------</maml:title>
        <dev:code>Get-ISO3166Country -Region APAC</dev:code>
        <dev:remarks>
          <maml:para>Returns every entry for Countries in the GeoRegion APAC</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 5 --------------------------</maml:title>
        <dev:code>Get-ISO3166Country -TimeZone UTC-03:00</dev:code>
        <dev:remarks>
          <maml:para>Returns every entry for Countries in the Time Zone UTC-03:00</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 6 --------------------------</maml:title>
        <dev:code>Get-ISO3166Country -DialCode 43</dev:code>
        <dev:remarks>
          <maml:para>Returns entry for Country "Austria" as it has teh unique dial code of 43</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 7 --------------------------</maml:title>
        <dev:code>Get-ISO3166Country | Where-Object TwoLetterCode -eq "AW"</dev:code>
        <dev:remarks>
          <maml:para>Returns entry for Country "Aruba" queried from the TwoLetterCode (ISO3166-Alpha2) AW</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 8 --------------------------</maml:title>
        <dev:code>(Get-ISO3166Country).TwoLetterCode</dev:code>
        <dev:remarks>
          <maml:para>Returns the column TwoLetterCode (ISO3166-Alpha2) for all countries</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Get-ISO3166Country.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Get-ISO3166Country.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_Supporting_Functions.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_Supporting_Functions.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-MatchingPatternForCallRestriction</command:name>
      <command:verb>Get</command:verb>
      <command:noun>MatchingPatternForCallRestriction</command:noun>
      <maml:description>
        <maml:para>Returns matching patterns for Voice Routes restricted to specific levels</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Returns a custom Object containing matching patterns for different Call Restrictions applied to Voice Routes Builds on the information provided in Get-ISO3166Country and returns custom Object containing matching patterns. The Object contains the Patterns for the following Call Restriction levels - Unrestricted is hardcoded to '.*'</maml:para>
      <maml:para>- International is allowing all Calls starting with a + or Emergency Services Numbers</maml:para>
      <maml:para>- National is allowing all Calls starting with a + followed by the Country Dial Code or Emergency Services Numbers</maml:para>
      <maml:para>- The Emergency Services Pattern is currently hardcoded/catch-all.</maml:para>
      <maml:para>Please see notes for details</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-MatchingPatternForCallRestriction</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>Country</maml:name>
          <maml:description>
            <maml:para>ISO 3166-alpha2 - Two Letter Country Code or ISO 3166-alpha3 - Three Letter Country Code. A match must be found through Get-ISO3166Country.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
          <dev:type>
            <maml:name>Object</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>Country</maml:name>
        <maml:description>
          <maml:para>ISO 3166-alpha2 - Two Letter Country Code or ISO 3166-alpha3 - Three Letter Country Code. A match must be found through Get-ISO3166Country.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
        <dev:type>
          <maml:name>Object</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.String</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>This CmdLet builds on Get-ISO3166Country and expects a match to be found there. From most to least restrictive: EmergencyOnly: Allowing only Calls to these numbers '&lt;EmergencyPattern&gt;' National: All Calls starting with a + followed by the Country Dial Code or Emergency Services Numbers '^+&lt;CountryDialCode&gt;|&lt;EmergencyPattern&gt;' International: Allowing all Calls starting with a + or Emergency Services Numbers '^+|&lt;EmergencyPattern&gt;' Unrestricted: Hardcoded to allow all calls '.*'</maml:para>
        <maml:para>The Pattern for Unrestricted is hardcoded to '.*' The Pattern for International is allowing all Calls starting with a + or Emergency Services Numbers The Pattern for National is allowing all Calls starting with a + followed by the Country Dial Code or Emergency Services Numbers The Emergency Services Pattern is currently hardcoded. A catch-all matching pattern covering most countries' Service Numbers ('any 2-5 digit number') is used If a more granular pattern is available, this pattern is added here over time.</maml:para>
        <maml:para>This CmdLet was initially geared towards querying the UC DialPlans API to return the Emergency Services pattern This is not yet available as the API requires a key to return usable data.</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>Get-MatchingPatternForCallRestriction -Country DE</dev:code>
        <dev:remarks>
          <maml:para>Returns entry for Country "Germany" queried from the TwoLetterCode (ISO3166-Alpha2) DE</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title>
        <dev:code>Get-MatchingPatternForCallRestriction -Country AUT</dev:code>
        <dev:remarks>
          <maml:para>Returns entry for Country "Austria" queried from the ThreeLetterCode (ISO3166-Alpha3) AUT</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Get-MatchingPatternForCallRestriction.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Get-MatchingPatternForCallRestriction.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_Supporting_Functions.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_Supporting_Functions.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-MyAzureAdAdminRole</command:name>
      <command:verb>Get</command:verb>
      <command:noun>MyAzureAdAdminRole</command:noun>
      <maml:description>
        <maml:para>Queries Admin Roles assigned to the currently connected User</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Azure Active Directory Admin Roles assigned to the currently connected User Requires a Connection to AzureAd Querying '-Type Elibile' requires the Module AzureAdPreview installed</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-MyAzureAdAdminRole</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>Type</maml:name>
          <maml:description>
            <maml:para>Optional. Switches query to Active (Default) or Eligible Admin Roles Eligibility can only be queried with Module AzureAdPreview installed</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>All</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>Type</maml:name>
        <maml:description>
          <maml:para>Optional. Switches query to Active (Default) or Eligible Admin Roles Eligibility can only be queried with Module AzureAdPreview installed</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>All</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.String</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>PSCustomObject</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>This is a wrapper for Get-AzureAdAdminRole targeting the currently connected User</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>Get-AzureAdAdminRole [-Type Active]</dev:code>
        <dev:remarks>
          <maml:para>Returns all active Admin Roles for the currently connected User</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title>
        <dev:code>Get-AzureAdAdminRole -Type Eligible</dev:code>
        <dev:remarks>
          <maml:para>Returns all eligible Admin Roles for the currently connected User</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Get-MyAzureAdAdminRole.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Get-MyAzureAdAdminRole.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_UserManagement.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_UserManagement.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-PublicHolidayCountry</command:name>
      <command:verb>Get</command:verb>
      <command:noun>PublicHolidayCountry</command:noun>
      <maml:description>
        <maml:para>Returns a list of Countries for which Public Holidays are available</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Queries the Nager.Date API for supported Countries</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-PublicHolidayCountry</maml:name>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters />
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.Void</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>The Nager.Date API currently supports a bit over 100 Countries. Please query with Get-PublicHolidayCountry Evaluated the following APIs: Nager.Date: Decent coverage (100+ Countries). Free &amp; Used Coverage: https://date.nager.at/Home/RegionStatistic TimeAndDate: Great coverage. Requires license. Also a bit clunky. Not considering implementation. Calendarific: Great coverage. Requires license for commercial use. Currently not considering development Utilising the Calendarific API could be integrated if licensed and the API key is passed/registered locally.</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>Get-PublicHolidayCountry</dev:code>
        <dev:remarks>
          <maml:para>Lists the Countries for which Public Holidays are available</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Get-PublicHolidayCountry.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Get-PublicHolidayCountry.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_TeamsAutoAttendant.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_TeamsAutoAttendant.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_Supporting_Functions.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_Supporting_Functions.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-PublicHolidayList</command:name>
      <command:verb>Get</command:verb>
      <command:noun>PublicHolidayList</command:noun>
      <maml:description>
        <maml:para>Returns a list of Public Holidays for a country for a given year</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Queries the Nager.Date API for public Holidays and returns a list per country and year.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-PublicHolidayList</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="CC">
          <maml:name>CountryCode</maml:name>
          <maml:description>
            <maml:para>Required. ISO3166-Alpha-2 Country Code</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="2" aliases="Y">
          <maml:name>Year</maml:name>
          <maml:description>
            <maml:para>Optional. Year for which the Holidays are to be listed. One or more Years between 2000 and 3000 If not provided, the current year is taken. If the current month is December, the coming year is taken.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
          <dev:type>
            <maml:name>Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="CC">
        <maml:name>CountryCode</maml:name>
        <maml:description>
          <maml:para>Required. ISO3166-Alpha-2 Country Code</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="2" aliases="Y">
        <maml:name>Year</maml:name>
        <maml:description>
          <maml:para>Optional. Year for which the Holidays are to be listed. One or more Years between 2000 and 3000 If not provided, the current year is taken. If the current month is December, the coming year is taken.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
        <dev:type>
          <maml:name>Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>0</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.String</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>The Nager.Date API currently supports a bit over 100 Countries. Please query with Get-PublicHolidayCountry Evaluated the following APIs: Nager.Date: Decent coverage (100+ Countries). Free &amp; Used Coverage: https://date.nager.at/Home/RegionStatistic TimeAndDate: Great coverage. Requires license. Also a bit clunky. Not considering implementation. Calendarific: Great coverage. Requires license for commercial use. Currently not considering development Utilising the Calendarific API could be integrated if licensed and the API key is passed/registered locally.</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>Get-PublicHolidayList [-CountryCode] CA [-Year] 2022</dev:code>
        <dev:remarks>
          <maml:para>Lists the Holidays for Canada in 2022. The Parameters are positional, so can be omitted</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Get-PublicHolidayList.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Get-PublicHolidayList.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_Supporting_Functions.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_Supporting_Functions.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_TeamsAutoAttendant.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_TeamsAutoAttendant.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-TeamsAutoAttendant</command:name>
      <command:verb>Get</command:verb>
      <command:noun>TeamsAutoAttendant</command:noun>
      <maml:description>
        <maml:para>Queries Auto Attendants and displays friendly Names (UPN or DisplayName)</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Same functionality as Get-CsAutoAttendant, but display reveals friendly Names, like UserPrincipalName or DisplayName for the following connected Objects Operator and ApplicationInstances (Resource Accounts)</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-TeamsAutoAttendant</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases="Identity">
          <maml:name>Name</maml:name>
          <maml:description>
            <maml:para>Required for ParameterSet Name. Finds all Auto Attendants with this name (unique results). If not provided, all Auto Attendants are queried, returning only the name</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
          <dev:type>
            <maml:name>String[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Detailed</maml:name>
          <maml:description>
            <maml:para>Optional Switch. Displays nested Objects for all Parameters of the Auto Attendant By default, only Names of nested Objects are shown.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>IncludeTotalCount</maml:name>
          <maml:description>
            <maml:para>Reports the total number of objects in the data set (an integer) followed by the selected objects. If the cmdlet cannot determine the total count, it displays "Unknown total count." The integer has an Accuracy property that indicates the reliability of the total count value. The value of Accuracy ranges from 0.0 to 1.0 where 0.0 means that the cmdlet could not count the objects, 1.0 means that the count is exact, and a value between 0.0 and 1.0 indicates an increasingly reliable estimate.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Skip</maml:name>
          <maml:description>
            <maml:para>Ignores the specified number of objects and then gets the remaining objects. Enter the number of objects to skip.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">UInt64</command:parameterValue>
          <dev:type>
            <maml:name>UInt64</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>First</maml:name>
          <maml:description>
            <maml:para>Gets only the specified number of objects. Enter the number of objects to get.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">UInt64</command:parameterValue>
          <dev:type>
            <maml:name>UInt64</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <command:syntaxItem>
        <maml:name>Get-TeamsAutoAttendant</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="NameFilter">
          <maml:name>SearchString</maml:name>
          <maml:description>
            <maml:para>Required for ParameterSet Search. Searches all Auto Attendants for this string (multiple results possible).</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Detailed</maml:name>
          <maml:description>
            <maml:para>Optional Switch. Displays nested Objects for all Parameters of the Auto Attendant By default, only Names of nested Objects are shown.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>IncludeTotalCount</maml:name>
          <maml:description>
            <maml:para>Reports the total number of objects in the data set (an integer) followed by the selected objects. If the cmdlet cannot determine the total count, it displays "Unknown total count." The integer has an Accuracy property that indicates the reliability of the total count value. The value of Accuracy ranges from 0.0 to 1.0 where 0.0 means that the cmdlet could not count the objects, 1.0 means that the count is exact, and a value between 0.0 and 1.0 indicates an increasingly reliable estimate.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Skip</maml:name>
          <maml:description>
            <maml:para>Ignores the specified number of objects and then gets the remaining objects. Enter the number of objects to skip.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">UInt64</command:parameterValue>
          <dev:type>
            <maml:name>UInt64</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>First</maml:name>
          <maml:description>
            <maml:para>Gets only the specified number of objects. Enter the number of objects to get.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">UInt64</command:parameterValue>
          <dev:type>
            <maml:name>UInt64</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases="Identity">
        <maml:name>Name</maml:name>
        <maml:description>
          <maml:para>Required for ParameterSet Name. Finds all Auto Attendants with this name (unique results). If not provided, all Auto Attendants are queried, returning only the name</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
        <dev:type>
          <maml:name>String[]</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="NameFilter">
        <maml:name>SearchString</maml:name>
        <maml:description>
          <maml:para>Required for ParameterSet Search. Searches all Auto Attendants for this string (multiple results possible).</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>Detailed</maml:name>
        <maml:description>
          <maml:para>Optional Switch. Displays nested Objects for all Parameters of the Auto Attendant By default, only Names of nested Objects are shown.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>IncludeTotalCount</maml:name>
        <maml:description>
          <maml:para>Reports the total number of objects in the data set (an integer) followed by the selected objects. If the cmdlet cannot determine the total count, it displays "Unknown total count." The integer has an Accuracy property that indicates the reliability of the total count value. The value of Accuracy ranges from 0.0 to 1.0 where 0.0 means that the cmdlet could not count the objects, 1.0 means that the count is exact, and a value between 0.0 and 1.0 indicates an increasingly reliable estimate.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>Skip</maml:name>
        <maml:description>
          <maml:para>Ignores the specified number of objects and then gets the remaining objects. Enter the number of objects to skip.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">UInt64</command:parameterValue>
        <dev:type>
          <maml:name>UInt64</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>First</maml:name>
        <maml:description>
          <maml:para>Gets only the specified number of objects. Enter the number of objects to get.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">UInt64</command:parameterValue>
        <dev:type>
          <maml:name>UInt64</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.String</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>Without any parameters, Get-TeamsAutoAttendant will show names only. Operator and Resource Accounts, etc. are displayed with friendly name. Main difference to Get-CsAutoAttendant (apart from the friendly names) is how the Objects are shown. The connected Objects DefaultCallFlow, CallFlows, Schedules, CallHandlingAssociations and DirectoryLookups are all shown with Name only, but can be queried with .&lt;ObjectName&gt; This also works with Get-CsAutoAttendant, but with the help of "Display" Parameters.</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>Get-TeamsAutoAttendant</dev:code>
        <dev:remarks>
          <maml:para>Same result as Get-CsAutoAttendant</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title>
        <dev:code>Get-TeamsAutoAttendant -Name "My AutoAttendant"</dev:code>
        <dev:remarks>
          <maml:para>Returns an Object for every Auto Attendant found with the exact Name "My AutoAttendant"</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 3 --------------------------</maml:title>
        <dev:code>Get-TeamsAutoAttendant -Name "My AutoAttendant" -Detailed</dev:code>
        <dev:remarks>
          <maml:para>Returns an Object for every Auto Attendant found with the exact Name "My AutoAttendant" Detailed view will display all nested Objects indented as a tree</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 4 --------------------------</maml:title>
        <dev:code>Get-TeamsAutoAttendant -Name "My AutoAttendant" -SearchString "My AutoAttendant"</dev:code>
        <dev:remarks>
          <maml:para>Returns an Object for every Auto Attendant found with the exact Name "My AutoAttendant" and Returns an Object for every Auto Attendant matching the String "My AutoAttendant"</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 5 --------------------------</maml:title>
        <dev:code>Get-TeamsAutoAttendant -SearchString "My AutoAttendant"</dev:code>
        <dev:remarks>
          <maml:para>Returns an Object for every Auto Attendant matching the String "My AutoAttendant" Synonymous with Get-CsAutoAttendant -NameFilter "My AutoAttendant", but output shown differently.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Get-TeamsAutoAttendant.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Get-TeamsAutoAttendant.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_TeamsAutoAttendant.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_TeamsAutoAttendant.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-TeamsAutoAttendantAudioFile</command:name>
      <command:verb>Get</command:verb>
      <command:noun>TeamsAutoAttendantAudioFile</command:noun>
      <maml:description>
        <maml:para>Queries Auto Attendants and displays all Audio Files found on the Object</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Managing Audio Files for an Auto Attendant is limited in the Admin Center. Files cannot be downloaded there. This CmdLet tries to plug that gap by exposing Download Links for all Audio Files linked on a given Auto Attendant</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-TeamsAutoAttendantAudioFile</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases="Identity">
          <maml:name>Name</maml:name>
          <maml:description>
            <maml:para>Required for ParameterSet Name. Finds all Auto Attendants with this name (unique results).</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
          <dev:type>
            <maml:name>String[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Detailed</maml:name>
          <maml:description>
            <maml:para>Optional Switch. Displays all information for the nested Audio File Objects of the Auto Attendant By default, only Names and Download URI of nested Objects are shown.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <command:syntaxItem>
        <maml:name>Get-TeamsAutoAttendantAudioFile</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="NameFilter">
          <maml:name>SearchString</maml:name>
          <maml:description>
            <maml:para>Required for ParameterSet Search. Searches all Auto Attendants for this string (multiple results possible).</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Detailed</maml:name>
          <maml:description>
            <maml:para>Optional Switch. Displays all information for the nested Audio File Objects of the Auto Attendant By default, only Names and Download URI of nested Objects are shown.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases="Identity">
        <maml:name>Name</maml:name>
        <maml:description>
          <maml:para>Required for ParameterSet Name. Finds all Auto Attendants with this name (unique results).</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
        <dev:type>
          <maml:name>String[]</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="NameFilter">
        <maml:name>SearchString</maml:name>
        <maml:description>
          <maml:para>Required for ParameterSet Search. Searches all Auto Attendants for this string (multiple results possible).</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>Detailed</maml:name>
        <maml:description>
          <maml:para>Optional Switch. Displays all information for the nested Audio File Objects of the Auto Attendant By default, only Names and Download URI of nested Objects are shown.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.String</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>Managing Audio Files for an Auto Attendant is limited in the Admin Center. Files cannot be downloaded there. This CmdLet tries to plug that gap by exposing Download Links for all Audio Files linked on a given Auto Attendant</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>Get-TeamsAutoAttendantAudioFile -Name "My AutoAttendant"</dev:code>
        <dev:remarks>
          <maml:para>Returns an Object for every Auto Attendant found with the exact Name "My AutoAttendant"</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title>
        <dev:code>Get-TeamsAutoAttendantAudioFile -Name "My AutoAttendant" -Detailed</dev:code>
        <dev:remarks>
          <maml:para>Returns an Object for every Auto Attendant found with the exact Name "My AutoAttendant" Detailed view will display all nested Objects indented as a tree</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 3 --------------------------</maml:title>
        <dev:code>Get-TeamsAutoAttendantAudioFile -Name "My AutoAttendant" -SearchString "My AutoAttendant"</dev:code>
        <dev:remarks>
          <maml:para>Returns an Object for every Auto Attendant found with the exact Name "My AutoAttendant" and Returns an Object for every Auto Attendant matching the String "My AutoAttendant"</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 4 --------------------------</maml:title>
        <dev:code>Get-TeamsAutoAttendantAudioFile -SearchString "My AutoAttendant"</dev:code>
        <dev:remarks>
          <maml:para>Returns an Object for every Auto Attendant matching the String "My AutoAttendant" Synonymous with Get-CsAutoAttendant -NameFilter "My AutoAttendant", but output shown differently.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Get-TeamsAutoAttendantAudioFile.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Get-TeamsAutoAttendantAudioFile.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_TeamsAutoAttendant.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_TeamsAutoAttendant.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-TeamsAutoAttendantSchedule</command:name>
      <command:verb>Get</command:verb>
      <command:noun>TeamsAutoAttendantSchedule</command:noun>
      <maml:description>
        <maml:para>Returns Teams Schedule Objects by Id or Name and/or Association</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Queries the Nager.Date API for public Holidays for Country and year and creates a CsOnlineSchedule object for each.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-TeamsAutoAttendantSchedule</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="named" aliases="none">
          <maml:name>Id</maml:name>
          <maml:description>
            <maml:para>Id of the Schedule Object</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>ParseAutoAttendants</maml:name>
          <maml:description>
            <maml:para>Optional. Resolves Auto Attendant Names</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <command:syntaxItem>
        <maml:name>Get-TeamsAutoAttendantSchedule</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="named" aliases="none">
          <maml:name>Name</maml:name>
          <maml:description>
            <maml:para>String to search for (partial or full match)</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="Unassigned, Free">
          <maml:name>UnAssociatedOnly</maml:name>
          <maml:description>
            <maml:para>Optional. Considers only unassociated Schedules</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <command:syntaxItem>
        <maml:name>Get-TeamsAutoAttendantSchedule</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="named" aliases="none">
          <maml:name>Name</maml:name>
          <maml:description>
            <maml:para>String to search for (partial or full match)</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="Assigned, InUse">
          <maml:name>AssociatedOnly</maml:name>
          <maml:description>
            <maml:para>Optional. Considers only associated Schedules</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>ParseAutoAttendants</maml:name>
          <maml:description>
            <maml:para>Optional. Resolves Auto Attendant Names</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <command:syntaxItem>
        <maml:name>Get-TeamsAutoAttendantSchedule</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="named" aliases="none">
          <maml:name>Name</maml:name>
          <maml:description>
            <maml:para>String to search for (partial or full match)</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>ParseAutoAttendants</maml:name>
          <maml:description>
            <maml:para>Optional. Resolves Auto Attendant Names</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="named" aliases="none">
        <maml:name>Id</maml:name>
        <maml:description>
          <maml:para>Id of the Schedule Object</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="named" aliases="none">
        <maml:name>Name</maml:name>
        <maml:description>
          <maml:para>String to search for (partial or full match)</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="Assigned, InUse">
        <maml:name>AssociatedOnly</maml:name>
        <maml:description>
          <maml:para>Optional. Considers only associated Schedules</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="Unassigned, Free">
        <maml:name>UnAssociatedOnly</maml:name>
        <maml:description>
          <maml:para>Optional. Considers only unassociated Schedules</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>ParseAutoAttendants</maml:name>
        <maml:description>
          <maml:para>Optional. Resolves Auto Attendant Names</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.String</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>Schedule Object can be queried by Name or Id (partent CmdLet). Additionally filtered by Association</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>Get-TeamsAutoAttendantSchedule -Id abcd1234-5678-efg9-0123-4567890abcd</dev:code>
        <dev:remarks>
          <maml:para>Returns the Schedules with the Id abcd1234-5678-efg9-0123-4567890abcd - Same behaviour as Get-CsOnlineSchedule</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title>
        <dev:code>Get-TeamsAutoAttendantSchedule -Name "CAN","MEX"</dev:code>
        <dev:remarks>
          <maml:para>Returns all Schedules with "CAN" or "MEX" in the Name</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 3 --------------------------</maml:title>
        <dev:code>Get-TeamsAutoAttendantSchedule -Name "Canada 202*"</dev:code>
        <dev:remarks>
          <maml:para>Returns all Schedules with the String "Canada 202" in the name (like)</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 4 --------------------------</maml:title>
        <dev:code>Get-TeamsAutoAttendantSchedule -Name "Canada 202*" -UnassociatedOnly</dev:code>
        <dev:remarks>
          <maml:para>Returns all Schedules with the String "Canada 202" in the name (like) that are not associated to any Auto Attendant Call Flow</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 5 --------------------------</maml:title>
        <dev:code>Get-TeamsAutoAttendantSchedule -Name "Canada 202*" -AssociatedOnly</dev:code>
        <dev:remarks>
          <maml:para>Returns all Schedules with the String "Canada 202" in the name (like) that are associated to any Auto Attendant Call Flow</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 6 --------------------------</maml:title>
        <dev:code>Get-TeamsAutoAttendantSchedule -UnassociatedOnly</dev:code>
        <dev:remarks>
          <maml:para>Returns all Schedules that are not associated to any Auto Attendant Call Flow</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Get-TeamsAutoAttendantSchedule.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Get-TeamsAutoAttendantSchedule.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_TeamsAutoAttendant.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_TeamsAutoAttendant.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_Supporting_Functions.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_Supporting_Functions.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-TeamsCallableEntity</command:name>
      <command:verb>Get</command:verb>
      <command:noun>TeamsCallableEntity</command:noun>
      <maml:description>
        <maml:para>Returns a callable Entity Object from an Identity/ObjectId or string</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Determines an Objects validity for use in an Auto Attendant or Call Queue Prepares output of Get-CsCallQueue by querying the Team and Channel (used in Get-TeamsCallQueue) Prepares output of Get-CsAutoAttendant (nested Objects) for display (used in Get-TeamsAutoAttendant) Returns a custom Object mimiking a CallableEntity Object, returning Entity, Identity &amp; Type</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-TeamsCallableEntity</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases="ObjectId, UserPrincipalName">
          <maml:name>Identity</maml:name>
          <maml:description>
            <maml:para>The ObjectId of the CallableEntity linked</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
          <dev:type>
            <maml:name>String[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases="ObjectId, UserPrincipalName">
        <maml:name>Identity</maml:name>
        <maml:description>
          <maml:para>The ObjectId of the CallableEntity linked</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
        <dev:type>
          <maml:name>String[]</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.String</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>If a match for Team\Channel or PhoneNumber is found, these are treated as such. For Team\Channel, the Id and DisplayName are interchangeable. The first match is performed for '\', if it matches, the string is split and individual matches are performed for Team and Channel respectively. The PhoneNumber is found with a very flexible match based on multiple formats (Integer, E.164 or LineUri) If no match is found, queries the string sequentially against AzureAdUser, CsOnlineApplicationInstance and AzureAdGroup. Returns a custom Object mimiking a CallableEntity Object, returning Entity, Identity &amp; Type</maml:para>
        <maml:para>This script is used to determine the eligibility of an Object as a Callable Entity in Call Queues and Auto Attendants This script does not yet support Announcements (sorry. Working on it) This script does not support the Types for legacy Hunt Group or Organisational Auto Attendant If nothing can be found for the String, an Object is returned with the Entity being $null</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>Get-TeamsCallableEntity -Identity "My Group Name"</dev:code>
        <dev:remarks>
          <maml:para>Queries whether "My Group Name" can be found as an AzureAdUser, AzureAdGroup or CsOnlineApplicationInstance.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title>
        <dev:code>Get-TeamsCallableEntity -Identity "John@domain.com","MyResourceAccount@domain.com"</dev:code>
        <dev:remarks>
          <maml:para>Queries whether John or MyResourceAccount can be found as an AzureAdUser, AzureAdGroup or CsOnlineApplicationInstance.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 3 --------------------------</maml:title>
        <dev:code>Get-TeamsCallableEntity -Identity 00000000-0000-0000-0000-000000000000</dev:code>
        <dev:remarks>
          <maml:para>Queries whether the provided ObjectId can be found as an AzureAdUser, AzureAdGroup or CsOnlineApplicationInstance.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 4 --------------------------</maml:title>
        <dev:code>Get-TeamsCallableEntity -Identity "1 (555) 1234-567"</dev:code>
        <dev:remarks>
          <maml:para>No Queries performed, number is normalised into a LineURI then passed on as the Tel URI. Returns a custom Object mimiking a CallableEntity Object, returning Entity, Identity &amp; Type</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 5 --------------------------</maml:title>
        <dev:code>Get-TeamsCallableEntity -Identity "tel:+15551234567"</dev:code>
        <dev:remarks>
          <maml:para>No Queries performed, as the Tel URI is passed on as-is. Returns a custom Object mimiking a CallableEntity Object, returning Entity, Identity &amp; Type</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 6 --------------------------</maml:title>
        <dev:code>Get-TeamsCallableEntity -Identity "00000000-0000-0000-0000-000000000000\19:abcdef1234567890abcdef1234567890@thread.tacv2"</dev:code>
        <dev:remarks>
          <maml:para>Format provided is of in TeamId\ChannelId. This is interpreted as a TeamsChannel. Queries Team &amp; Channel. Returns a custom Object mimiking a CallableEntity Object, returning Entity, Identity &amp; Type</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 7 --------------------------</maml:title>
        <dev:code>Get-TeamsCallableEntity -Identity "My Team Name\My Channel Name"</dev:code>
        <dev:remarks>
          <maml:para>Format provided is of in TeamDisplayName\ChannelDisplayName. This is interpreted as a TeamsChannel. Queries Team &amp; Channel. Returns a custom Object mimiking a CallableEntity Object, returning Entity, Identity &amp; Type</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Get-TeamsCallableEntity.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Get-TeamsCallableEntity.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_TeamsAutoAttendant.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_TeamsAutoAttendant.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_TeamsCallQueue.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_TeamsCallQueue.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_UserManagement.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_UserManagement.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-TeamsCallQueue</command:name>
      <command:verb>Get</command:verb>
      <command:noun>TeamsCallQueue</command:noun>
      <maml:description>
        <maml:para>Queries Call Queues and displays friendly Names (UPN or Displayname)</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Same functionality as Get-CsCallQueue, but display reveals friendly Names, like UserPrincipalName or DisplayName for the following connected Objects OverflowActionTarget, TimeoutActionTarget, Agents, DistributionLists and ApplicationInstances (Resource Accounts)</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-TeamsCallQueue</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases="none">
          <maml:name>Name</maml:name>
          <maml:description>
            <maml:para>Required for ParameterSet Name. Searches all Call Queues for this name (unique results). If not provided, all Call Queues are queried, returning only the name</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
          <dev:type>
            <maml:name>String[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Detailed</maml:name>
          <maml:description>
            <maml:para>Optional Switch. Displays all Parameters of the CallQueue This also shows parameters relating to Ids and Diagnostic Parameters.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>IncludeTotalCount</maml:name>
          <maml:description>
            <maml:para>Reports the total number of objects in the data set (an integer) followed by the selected objects. If the cmdlet cannot determine the total count, it displays "Unknown total count." The integer has an Accuracy property that indicates the reliability of the total count value. The value of Accuracy ranges from 0.0 to 1.0 where 0.0 means that the cmdlet could not count the objects, 1.0 means that the count is exact, and a value between 0.0 and 1.0 indicates an increasingly reliable estimate.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Skip</maml:name>
          <maml:description>
            <maml:para>Ignores the specified number of objects and then gets the remaining objects. Enter the number of objects to skip.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">UInt64</command:parameterValue>
          <dev:type>
            <maml:name>UInt64</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>First</maml:name>
          <maml:description>
            <maml:para>Gets only the specified number of objects. Enter the number of objects to get.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">UInt64</command:parameterValue>
          <dev:type>
            <maml:name>UInt64</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <command:syntaxItem>
        <maml:name>Get-TeamsCallQueue</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="NameFilter">
          <maml:name>SearchString</maml:name>
          <maml:description>
            <maml:para>Required for ParameterSet Search. Searches all Call Queues for this string (multiple results possible).</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Detailed</maml:name>
          <maml:description>
            <maml:para>Optional Switch. Displays all Parameters of the CallQueue This also shows parameters relating to Ids and Diagnostic Parameters.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>IncludeTotalCount</maml:name>
          <maml:description>
            <maml:para>Reports the total number of objects in the data set (an integer) followed by the selected objects. If the cmdlet cannot determine the total count, it displays "Unknown total count." The integer has an Accuracy property that indicates the reliability of the total count value. The value of Accuracy ranges from 0.0 to 1.0 where 0.0 means that the cmdlet could not count the objects, 1.0 means that the count is exact, and a value between 0.0 and 1.0 indicates an increasingly reliable estimate.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Skip</maml:name>
          <maml:description>
            <maml:para>Ignores the specified number of objects and then gets the remaining objects. Enter the number of objects to skip.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">UInt64</command:parameterValue>
          <dev:type>
            <maml:name>UInt64</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>First</maml:name>
          <maml:description>
            <maml:para>Gets only the specified number of objects. Enter the number of objects to get.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">UInt64</command:parameterValue>
          <dev:type>
            <maml:name>UInt64</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases="none">
        <maml:name>Name</maml:name>
        <maml:description>
          <maml:para>Required for ParameterSet Name. Searches all Call Queues for this name (unique results). If not provided, all Call Queues are queried, returning only the name</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
        <dev:type>
          <maml:name>String[]</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="NameFilter">
        <maml:name>SearchString</maml:name>
        <maml:description>
          <maml:para>Required for ParameterSet Search. Searches all Call Queues for this string (multiple results possible).</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>Detailed</maml:name>
        <maml:description>
          <maml:para>Optional Switch. Displays all Parameters of the CallQueue This also shows parameters relating to Ids and Diagnostic Parameters.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>IncludeTotalCount</maml:name>
        <maml:description>
          <maml:para>Reports the total number of objects in the data set (an integer) followed by the selected objects. If the cmdlet cannot determine the total count, it displays "Unknown total count." The integer has an Accuracy property that indicates the reliability of the total count value. The value of Accuracy ranges from 0.0 to 1.0 where 0.0 means that the cmdlet could not count the objects, 1.0 means that the count is exact, and a value between 0.0 and 1.0 indicates an increasingly reliable estimate.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>Skip</maml:name>
        <maml:description>
          <maml:para>Ignores the specified number of objects and then gets the remaining objects. Enter the number of objects to skip.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">UInt64</command:parameterValue>
        <dev:type>
          <maml:name>UInt64</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>First</maml:name>
        <maml:description>
          <maml:para>Gets only the specified number of objects. Enter the number of objects to get.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">UInt64</command:parameterValue>
        <dev:type>
          <maml:name>UInt64</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.String</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>Without any parameters, Get-TeamsCallQueue will show names only Agents, DistributionLists, Targets and Resource Accounts are displayed with friendly name. Main difference to Get-CsCallQueue (apart from the friendly names) is that the Output view more concise</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>Get-TeamsCallQueue</dev:code>
        <dev:remarks>
          <maml:para>Same result as Get-CsCallQueue</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title>
        <dev:code>Get-TeamsCallQueue -Name "My CallQueue"</dev:code>
        <dev:remarks>
          <maml:para>Returns an Object for every Call Queue found with the exact Name "My CallQueue"</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 3 --------------------------</maml:title>
        <dev:code>Get-TeamsCallQueue -Name "My CallQueue" -Detailed</dev:code>
        <dev:remarks>
          <maml:para>Returns an Object for every Call Queue found with the String "My CallQueue" Displays additional Parameters used for Diagnostics &amp; Shared Voicemail.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 4 --------------------------</maml:title>
        <dev:code>Get-TeamsCallQueue -SearchString "My CallQueue"</dev:code>
        <dev:remarks>
          <maml:para>Returns an Object for every Call Queue matching the String "My CallQueue" Synonymous with Get-CsCallQueue -NameFilter "My CallQueue", but output shown differently.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 5 --------------------------</maml:title>
        <dev:code>Get-TeamsCallQueue -Name "My CallQueue" -SearchString "My CallQueue"</dev:code>
        <dev:remarks>
          <maml:para>Returns an Object for every Call Queue found with the exact Name "My CallQueue" and Returns an Object for every Call Queue matching the String "My CallQueue"</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Get-TeamsCallQueue.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Get-TeamsCallQueue.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_TeamsCallQueue.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_TeamsCallQueue.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-TeamsCLI</command:name>
      <command:verb>Get</command:verb>
      <command:noun>TeamsCLI</command:noun>
      <maml:description>
        <maml:para>Lists all Calling Line Identities by Name</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>To quickly find Calling Line Identities to assign, an Alias-Function to Get-CsCallingLineIdentity</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-TeamsCLI</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases="none">
          <maml:name>Identity</maml:name>
          <maml:description>
            <maml:para>String. Name or part of the Calling Line Identity. Can be omitted to list Names of all Policies (including "Global"). If provided without a '*' in the name, an exact match is sought.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases="none">
        <maml:name>Identity</maml:name>
        <maml:description>
          <maml:para>String. Name or part of the Calling Line Identity. Can be omitted to list Names of all Policies (including "Global"). If provided without a '*' in the name, an exact match is sought.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
      <command:inputType>
        <dev:type>
          <maml:name>System.String</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>This script is indulging the lazy admin. It behaves like Get-CsCallingLineIdentity with a twist: If more than three results are found, a reduced set of Parameters are shown for better visibility: Get-CsCallingLineIdentity | Select-Object Identity, Description, SignInMode, HotDeskingIdleTimeoutInMinutes</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>Get-TeamsCLI</dev:code>
        <dev:remarks>
          <maml:para>Returns the Object for all Calling Line Identities (including "Global") Behaviour like: Get-CsCallingLineIdentity, showing only a few Parameters</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title>
        <dev:code>Get-TeamsCLI -Identity ResourceAccount@domain.com</dev:code>
        <dev:remarks>
          <maml:para>Returns the Object for the Online Voice Route "ResourceAccount@domain.com" (provided it exists). Behaviour like: Get-CsCallingLineIdentity -Identity "ResourceAccount@domain.com"</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 3 --------------------------</maml:title>
        <dev:code>Get-TeamsCLI -Identity ResourceAccount*</dev:code>
        <dev:remarks>
          <maml:para>Lists Online Voice Routes with "ResourceAccount" in the Name Behaviour like: Get-CsCallingLineIdentity -Filter " ResourceAccount "</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Get-TeamsCLI.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Get-TeamsCLI.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_VoiceConfiguration.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_VoiceConfiguration.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_Supporting_Functions.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_Supporting_Functions.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-TeamsCommonAreaPhone</command:name>
      <command:verb>Get</command:verb>
      <command:noun>TeamsCommonAreaPhone</command:noun>
      <maml:description>
        <maml:para>Returns Common Area Phones from AzureAD</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Returns one or more AzureAdUser Accounts that are Common Area Phones Accounts returned are strictly limited to having to have the Common Area Phone License assigned.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-TeamsCommonAreaPhone</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases="ObjectId, Identity">
          <maml:name>UserPrincipalName</maml:name>
          <maml:description>
            <maml:para>Default and positional. One or more UserPrincipalNames to be queried</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
          <dev:type>
            <maml:name>String[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <command:syntaxItem>
        <maml:name>Get-TeamsCommonAreaPhone</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="named" aliases="none">
          <maml:name>DisplayName</maml:name>
          <maml:description>
            <maml:para>Optional. Search parameter. Use Find-TeamsUserVoiceConfig for more search options</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <command:syntaxItem>
        <maml:name>Get-TeamsCommonAreaPhone</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="Tel, Number, TelephoneNumber">
          <maml:name>PhoneNumber</maml:name>
          <maml:description>
            <maml:para>Optional. Returns all Common Area Phones with a specific string in the PhoneNumber</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases="ObjectId, Identity">
        <maml:name>UserPrincipalName</maml:name>
        <maml:description>
          <maml:para>Default and positional. One or more UserPrincipalNames to be queried</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
        <dev:type>
          <maml:name>String[]</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="named" aliases="none">
        <maml:name>DisplayName</maml:name>
        <maml:description>
          <maml:para>Optional. Search parameter. Use Find-TeamsUserVoiceConfig for more search options</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="Tel, Number, TelephoneNumber">
        <maml:name>PhoneNumber</maml:name>
        <maml:description>
          <maml:para>Optional. Returns all Common Area Phones with a specific string in the PhoneNumber</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.String</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>Displays similar output as Get-TeamsUserVoiceConfig, but more tailored to Common Area Phones Running the CmdLet without any input might take a while, depending on size of the Tenant.</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>Get-TeamsCommonAreaPhone</dev:code>
        <dev:remarks>
          <maml:para>Returns all Common Area Phones. Depending on size of the Tenant, this might take a while.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title>
        <dev:code>Get-TeamsCommonAreaPhone -Identity MyCAP@TenantName.onmicrosoft.com</dev:code>
        <dev:remarks>
          <maml:para>Returns the Common Area Phone with the Identity specified, if found.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 3 --------------------------</maml:title>
        <dev:code>Get-TeamsCommonAreaPhone -DisplayName "Lobby"</dev:code>
        <dev:remarks>
          <maml:para>Returns all Common Area Phones with "Lobby" as part of their Display Name.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 4 --------------------------</maml:title>
        <dev:code>Get-TeamsCommonAreaPhone -PhoneNumber +1555123456</dev:code>
        <dev:remarks>
          <maml:para>Returns the Resource Account with the Phone Number specified, if found.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Get-TeamsCommonAreaPhone.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Get-TeamsCommonAreaPhone.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_VoiceConfiguration.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_VoiceConfiguration.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_UserManagement.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_UserManagement.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-TeamsCP</command:name>
      <command:verb>Get</command:verb>
      <command:noun>TeamsCP</command:noun>
      <maml:description>
        <maml:para>Lists all Teams Calling Policies by Name</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>To quickly find Teams Calling Policies to assign, an Alias-Function to Get-CsTeamsCallingPolicy</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-TeamsCP</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases="none">
          <maml:name>Identity</maml:name>
          <maml:description>
            <maml:para>String. Name or part of the Teams Calling Policy. Can be omitted to list Names of all Policies (including "Global"). If provided without a '*' in the name, an exact match is sought.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases="none">
        <maml:name>Identity</maml:name>
        <maml:description>
          <maml:para>String. Name or part of the Teams Calling Policy. Can be omitted to list Names of all Policies (including "Global"). If provided without a '*' in the name, an exact match is sought.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
      <command:inputType>
        <dev:type>
          <maml:name>System.String</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>This script is indulging the lazy admin. It behaves like Get-CsTeamsCallingPolicy with a twist: If more than three results are found, a reduced set of Parameters are shown for better visibility: Get-CsTeamsCallingPolicy | Select-Object Identity, Description, BusyOnBusyEnabledType</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>Get-TeamsCP</dev:code>
        <dev:remarks>
          <maml:para>Returns the Object for all Teams Calling Policies (including "Global") Behaviour like: Get-CsTeamsCallingPolicy, showing only a few Parameters</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title>
        <dev:code>Get-TeamsCP -Identity AllowCallingPreventTollBypass</dev:code>
        <dev:remarks>
          <maml:para>Returns the Object for the Teams Calling Policy "AllowCallingPreventTollBypass" (provided it exists). Behaviour like: Get-CsTeamsCallingPolicy -Identity "AllowCallingPreventTollBypass"</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 3 --------------------------</maml:title>
        <dev:code>Get-TeamsCP -Identity Allow*</dev:code>
        <dev:remarks>
          <maml:para>Lists Calling Policies with "Allow" in the Name Behaviour like: Get-CsTeamsCallingPolicy -Filter " Allow "</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Get-TeamsCP.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Get-TeamsCP.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_VoiceConfiguration.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_VoiceConfiguration.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_Supporting_Functions.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_Supporting_Functions.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-TeamsCPP</command:name>
      <command:verb>Get</command:verb>
      <command:noun>TeamsCPP</command:noun>
      <maml:description>
        <maml:para>Lists all Teams Call Park Policies by Name</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>To quickly find Teams Call Park Policies to assign, an Alias-Function to Get-CsTeamsCallParkPolicy</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-TeamsCPP</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases="none">
          <maml:name>Identity</maml:name>
          <maml:description>
            <maml:para>String. Name or part of the Teams Call Park Policy. Can be omitted to list Names of all Policies (including "Global"). If provided without a '*' in the name, an exact match is sought.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases="none">
        <maml:name>Identity</maml:name>
        <maml:description>
          <maml:para>String. Name or part of the Teams Call Park Policy. Can be omitted to list Names of all Policies (including "Global"). If provided without a '*' in the name, an exact match is sought.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
      <command:inputType>
        <dev:type>
          <maml:name>System.String</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>This script is indulging the lazy admin. It behaves like Get-CsTeamsCallParkPolicy with a twist: If more than three results are found, a reduced set of Parameters are shown for better visibility: Get-CsTeamsCallParkPolicy | Select-Object Identity, Description, AllowCallPark</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>Get-TeamsCPP</dev:code>
        <dev:remarks>
          <maml:para>Returns the Object for all Teams Call Park Policies (including "Global") Behaviour like: Get-CsTeamsCallParkPolicy, showing only a few Parameters</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title>
        <dev:code>Get-TeamsCPP -Identity ServiceDesk</dev:code>
        <dev:remarks>
          <maml:para>Returns the Object for the Teams Call Park Policy "ServiceDesk" (provided it exists). Behaviour like: Get-CsTeamsCallParkPolicy -Identity "ServiceDesk"</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 3 --------------------------</maml:title>
        <dev:code>Get-TeamsCPP -Identity *Desk</dev:code>
        <dev:remarks>
          <maml:para>Lists Call Park Policies with "Desk" in the Name Behaviour like: Get-CsTeamsCallParkPolicy -Filter " Desk "</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Get-TeamsCPP.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Get-TeamsCPP.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_VoiceConfiguration.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_VoiceConfiguration.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_Supporting_Functions.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_Supporting_Functions.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-TeamsECP</command:name>
      <command:verb>Get</command:verb>
      <command:noun>TeamsECP</command:noun>
      <maml:description>
        <maml:para>Lists all Online Emergency Calling Policies by Name</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>To quickly find Emergency Calling Policies to assign, an Alias-Function to Get-CsTeamsEmergencyCallingPolicy</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-TeamsECP</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases="none">
          <maml:name>Identity</maml:name>
          <maml:description>
            <maml:para>String. Name or part of the Emergency Calling Policy. Can be omitted to list Names of all Policies (including "Global"). If provided without a '*' in the name, an exact match is sought.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases="none">
        <maml:name>Identity</maml:name>
        <maml:description>
          <maml:para>String. Name or part of the Emergency Calling Policy. Can be omitted to list Names of all Policies (including "Global"). If provided without a '*' in the name, an exact match is sought.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
      <command:inputType>
        <dev:type>
          <maml:name>System.String</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>This script is indulging the lazy admin. It behaves like Get-CsTeamsEmergencyCallingPolicy with a twist: If more than three results are found, a reordered set of Parameters are shown for better visibility: Get-CsTeamsEmergencyCallingPolicy | Select-Object Identity, Description, NotificationMode, NotificationGroup</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>Get-TeamsECP</dev:code>
        <dev:remarks>
          <maml:para>Returns the Object for all Emergency Calling Policies (including "Global") Behaviour like: Get-CsTeamsEmergencyCallingPolicy</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title>
        <dev:code>Get-TeamsECP -Identity ECP-US</dev:code>
        <dev:remarks>
          <maml:para>Returns the Object for the Online Voice Route "ECP-US" (provided it exists). Behaviour like: Get-CsTeamsEmergencyCallingPolicy -Identity "ECP-US"</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 3 --------------------------</maml:title>
        <dev:code>Get-TeamsECP -Identity ECP-US-*</dev:code>
        <dev:remarks>
          <maml:para>Lists Online Voice Routes with "ECP-US-" in the Name Behaviour like: Get-CsTeamsEmergencyCallingPolicy -Filter " ECP-US- "</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Get-TeamsECP.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Get-TeamsECP.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_VoiceConfiguration.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_VoiceConfiguration.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_Supporting_Functions.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_Supporting_Functions.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-TeamsECRP</command:name>
      <command:verb>Get</command:verb>
      <command:noun>TeamsECRP</command:noun>
      <maml:description>
        <maml:para>Lists all Emergency Voice Routing Policies by Name</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>To quickly find Emergency Voice Routing Policies to assign, an Alias-Function to Get-CsTeamsEmergencyCallRoutingPolicy</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-TeamsECRP</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases="none">
          <maml:name>Identity</maml:name>
          <maml:description>
            <maml:para>String. Name or part of the Voice Routing Policy. Can be omitted to list Names of all Policies (including "Global"). If provided without a '*' in the name, an exact match is sought.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases="none">
        <maml:name>Identity</maml:name>
        <maml:description>
          <maml:para>String. Name or part of the Voice Routing Policy. Can be omitted to list Names of all Policies (including "Global"). If provided without a '*' in the name, an exact match is sought.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
      <command:inputType>
        <dev:type>
          <maml:name>System.String</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>If more than three results are found, a reordered set of Parameters are shown for better visibility: Get-CsTeamsEmergencyCallRoutingPolicy | Select-Object Identity, Description, AllowEnhancedEmergencyServices, EmergencyNumbers</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>Get-TeamsECRP</dev:code>
        <dev:remarks>
          <maml:para>Returns the Object for all Emergency Voice Routing Policies (including "Global") Behaviour like: Get-CsTeamsEmergencyCallRoutingPolicy</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title>
        <dev:code>Get-TeamsECRP -Identity ECRP-US</dev:code>
        <dev:remarks>
          <maml:para>Returns the Object for the Emergency Voice Route "ECRP-US" (provided it exists). Behaviour like: Get-CsTeamsEmergencyCallRoutingPolicy -Identity "ECRP-US"</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 3 --------------------------</maml:title>
        <dev:code>Get-TeamsECRP -Identity ECRP-US-*</dev:code>
        <dev:remarks>
          <maml:para>Lists Emergency Voice Routes with "ECRP-US-" in the Name Behaviour like: Get-CsTeamsEmergencyCallRoutingPolicy -Filter " ECRP-US- "</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Get-TeamsECRP.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Get-TeamsECRP.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_VoiceConfiguration.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_VoiceConfiguration.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_Supporting_Functions.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_Supporting_Functions.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-TeamsIPP</command:name>
      <command:verb>Get</command:verb>
      <command:noun>TeamsIPP</command:noun>
      <maml:description>
        <maml:para>Lists all IP Phone Policies by Name</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>To quickly find IP Phone Policies to assign, an Alias-Function to Get-CsTeamsIPPhonePolicy</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-TeamsIPP</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases="none">
          <maml:name>Identity</maml:name>
          <maml:description>
            <maml:para>String. Name or part of the IP Phone Policy. Can be omitted to list Names of all Policies (including "Global"). If provided without a '*' in the name, an exact match is sought.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases="none">
        <maml:name>Identity</maml:name>
        <maml:description>
          <maml:para>String. Name or part of the IP Phone Policy. Can be omitted to list Names of all Policies (including "Global"). If provided without a '*' in the name, an exact match is sought.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
      <command:inputType>
        <dev:type>
          <maml:name>System.String</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>This script is indulging the lazy admin. It behaves like Get-CsTeamsIPPhonePolicy with a twist: If more than three results are found, a reduced set of Parameters are shown for better visibility: Get-CsTeamsIPPhonePolicy | Select-Object Identity, Description, SignInMode, HotDeskingIdleTimeoutInMinutes</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>Get-TeamsIPP</dev:code>
        <dev:remarks>
          <maml:para>Returns the Object for all IP Phone Policies (including "Global") Behaviour like: Get-CsTeamsIPPhonePolicy, showing only a few Parameters</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title>
        <dev:code>Get-TeamsIPP -Identity CommonAreaPhone</dev:code>
        <dev:remarks>
          <maml:para>Returns the Object for the Online Voice Route "CommonAreaPhone" (provided it exists). Behaviour like: Get-CsTeamsIPPhonePolicy -Identity "CommonAreaPhone"</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 3 --------------------------</maml:title>
        <dev:code>Get-TeamsIPP -Identity CommonAreaPhone-*</dev:code>
        <dev:remarks>
          <maml:para>Lists Online Voice Routes with "CommonAreaPhone" in the Name Behaviour like: Get-CsTeamsIPPhonePolicy -Filter " CommonAreaPhone "</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Get-TeamsIPP.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Get-TeamsIPP.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_VoiceConfiguration.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_VoiceConfiguration.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_Supporting_Functions.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_Supporting_Functions.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-TeamsMGW</command:name>
      <command:verb>Get</command:verb>
      <command:noun>TeamsMGW</command:noun>
      <maml:description>
        <maml:para>Lists all Online Pstn Gateways by Name</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>To quickly find Online Pstn Gateways to assign, an Alias-Function to Get-CsOnlineVoiceRoutingPolicy</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-TeamsMGW</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases="none">
          <maml:name>Identity</maml:name>
          <maml:description>
            <maml:para>String. FQDN or part of the FQDN for a Pstn Gateway. Can be omitted to list Names of all Gateways If provided without a '*' in the name, an exact match is sought.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases="none">
        <maml:name>Identity</maml:name>
        <maml:description>
          <maml:para>String. FQDN or part of the FQDN for a Pstn Gateway. Can be omitted to list Names of all Gateways If provided without a '*' in the name, an exact match is sought.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
      <command:inputType>
        <dev:type>
          <maml:name>System.String</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>This script is indulging the lazy admin. It behaves like Get-CsTeamsCallingPolicy with a twist: If more than three results are found, a reduced set of Parameters are shown for better visibility: Get-CsOnlinePSTNGateway | Select-Object Identity, SipSignalingPort, Enabled, MediaByPass</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>Get-TeamsMGW</dev:code>
        <dev:remarks>
          <maml:para>Lists Identities (Names) of all Online Pstn Gateways Behaviour like: Get-CsOnlineVoiceRoute</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title>
        <dev:code>Get-TeamsMGW -Identity PstnGateway1.domain.com</dev:code>
        <dev:remarks>
          <maml:para>Lists Online Pstn Gateway as Get-CsOnlinePstnGateway does (provided it exists). Behaviour like: Get-CsOnlineVoiceRoute -Identity "PstnGateway1.domain.com"</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 3 --------------------------</maml:title>
        <dev:code>Get-TeamsOVR -Identity EMEA*</dev:code>
        <dev:remarks>
          <maml:para>Lists Online Voice Routes with "EMEA" in the Name Behaviour like: Get-CsOnlineVoiceRoute -Filter " EMEA "</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Get-TeamsMGW.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Get-TeamsMGW.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_VoiceConfiguration.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_VoiceConfiguration.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_Supporting_Functions.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_Supporting_Functions.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-TeamsObjectType</command:name>
      <command:verb>Get</command:verb>
      <command:noun>TeamsObjectType</command:noun>
      <maml:description>
        <maml:para>Resolves the type of the object</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Helper function to find the Callable Entity Type of Teams Objects Returns ObjectType: User (AzureAdUser), Group (AzureAdGroup), ResourceAccount (ApplicationInstance) or TelURI String (ExternalPstn)</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-TeamsObjectType</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="1" aliases="none">
          <maml:name>Identity</maml:name>
          <maml:description>
            <maml:para>Required. String for the TelURI, Group Name or Mailnickname, UserPrincipalName, depending on the Entity Type</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
          <dev:type>
            <maml:name>String[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="1" aliases="none">
        <maml:name>Identity</maml:name>
        <maml:description>
          <maml:para>Required. String for the TelURI, Group Name or Mailnickname, UserPrincipalName, depending on the Entity Type</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
        <dev:type>
          <maml:name>String[]</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.String</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.String</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>None</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>Get-TeamsObjectType -Identity "John@domain.com"</dev:code>
        <dev:remarks>
          <maml:para>Returns "User" as the type of Entity if an AzureAdUser with the UPN "John@domain.com" is found</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title>
        <dev:code>Get-TeamsObjectType -Identity "Accounting"</dev:code>
        <dev:remarks>
          <maml:para>Returns "Group" as the type of Entity if a AzureAdGroup with the Name "Accounting" is found.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 3 --------------------------</maml:title>
        <dev:code>Get-TeamsObjectType -Identity "Accounting@domain.com"</dev:code>
        <dev:remarks>
          <maml:para>Returns "Group" as the type of Entity if a AzureAdGroup with the Mailnickname "Accounting@domain.com" is found.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 4 --------------------------</maml:title>
        <dev:code>Get-TeamsObjectType -Identity "ResourceAccount@domain.com"</dev:code>
        <dev:remarks>
          <maml:para>Returns "ResourceAccount" as the type of Entity if a CsOnlineApplicationInstance with the UPN "ResourceAccount@domain.com" is found</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 5 --------------------------</maml:title>
        <dev:code>Get-TeamsObjectType -Identity "tel:+1555123456"</dev:code>
        <dev:remarks>
          <maml:para>Returns "TelURI" as the type of Entity</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 6 --------------------------</maml:title>
        <dev:code>Get-TeamsObjectType -Identity "+1555123456"</dev:code>
        <dev:remarks>
          <maml:para>Returns an Error as the type of Entity cannot be determined correctly</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Get-TeamsObjectType.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Get-TeamsObjectType.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_UserManagement.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_UserManagement.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-TeamsOPU</command:name>
      <command:verb>Get</command:verb>
      <command:noun>TeamsOPU</command:noun>
      <maml:description>
        <maml:para>Lists all Online PSTN Usages by Name</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>To quickly find Online PSTN Usages, an Alias-Function to Get-CsOnlinePstnUsage</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-TeamsOPU</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>Usage</maml:name>
          <maml:description>
            <maml:para>String. Name or part of the Online Pstn Usage. Can be omitted to list Names of all Usages. Searches for Usages with Get-CsOnlinePstnUsage, listing all that match.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>Usage</maml:name>
        <maml:description>
          <maml:para>String. Name or part of the Online Pstn Usage. Can be omitted to list Names of all Usages. Searches for Usages with Get-CsOnlinePstnUsage, listing all that match.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
      <command:inputType>
        <dev:type>
          <maml:name>System.String</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>This script is indulging the lazy admin. It behaves like (Get-CsOnlinePstnUsage).Usage This CmdLet behaves slightly different than the others, due to the nature of Pstn Usages.</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>Get-TeamsOPU</dev:code>
        <dev:remarks>
          <maml:para>Lists Identities (Names) of all Online Pstn Usages</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title>
        <dev:code>Get-TeamsOPU "PstnUsageName"</dev:code>
        <dev:remarks>
          <maml:para>Lists all PstnUsages with the String 'PstnUsageName' in the name of the Online Pstn Usage</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Get-TeamsOPU.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Get-TeamsOPU.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_VoiceConfiguration.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_VoiceConfiguration.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_Supporting_Functions.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_Supporting_Functions.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-TeamsOVP</command:name>
      <command:verb>Get</command:verb>
      <command:noun>TeamsOVP</command:noun>
      <maml:description>
        <maml:para>Lists all Online Voice Routing Policies by Name</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>To quickly find Online Voice Routing Policies to assign, an Alias-Function to Get-CsOnlineVoiceRoutingPolicy</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-TeamsOVP</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases="none">
          <maml:name>Identity</maml:name>
          <maml:description>
            <maml:para>String. Name or part of the Voice Routing Policy. Can be omitted to list Names of all Policies (except "Global"). If provided without a '*' in the name, an exact match is sought.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases="none">
        <maml:name>Identity</maml:name>
        <maml:description>
          <maml:para>String. Name or part of the Voice Routing Policy. Can be omitted to list Names of all Policies (except "Global"). If provided without a '*' in the name, an exact match is sought.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
      <command:inputType>
        <dev:type>
          <maml:name>System.String</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>This script is indulging the lazy admin. It behaves like Get-CsOnlineVoiceRoutingPolicy with a twist: If more than three results are found, a reduced set of Parameters are shown for better visibility: Get-CsOnlineVoiceRoutingPolicy | Where-Object Identity -NE 'Global' | Select-Object Identity, Description, OnlinePstnUsages</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>Get-TeamsOVP</dev:code>
        <dev:remarks>
          <maml:para>Returns the Object for all Online Voice Routing Policies (except "Global") Behaviour like: Get-CsOnlineVoiceRoutingPolicy, if more than 3 results are found, only names are returned</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title>
        <dev:code>Get-TeamsOVP -Identity OVP-EMEA-National</dev:code>
        <dev:remarks>
          <maml:para>Returns the Object for the Online Voice Routing Policy "OVP-EMEA-National" (provided it exists). Behaviour like: Get-CsOnlineVoiceRoutingPolicy -Identity "OVP-EMEA-National"</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 3 --------------------------</maml:title>
        <dev:code>Get-TeamsOVP -Identity OVP-EMEA-*</dev:code>
        <dev:remarks>
          <maml:para>Lists Online Voice Routes with "OVP-EMEA-" in the Name Behaviour like: Get-CsOnlineVoiceRoutingPolicy -Filter " OVP-EMEA- "</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Get-TeamsOVP.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Get-TeamsOVP.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_VoiceConfiguration.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_VoiceConfiguration.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_Supporting_Functions.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_Supporting_Functions.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-TeamsOVR</command:name>
      <command:verb>Get</command:verb>
      <command:noun>TeamsOVR</command:noun>
      <maml:description>
        <maml:para>Lists all Online Voice Routes by Name</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>To quickly find Online Voice Routes to troubleshoot, an Alias-Function to Get-CsOnlineVoiceRoute</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-TeamsOVR</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases="none">
          <maml:name>Identity</maml:name>
          <maml:description>
            <maml:para>String. Name or part of the Voice Route. Can be omitted to list Names of all Routes (except "Global"). If provided without a '*' in the name, an exact match is sought.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases="none">
        <maml:name>Identity</maml:name>
        <maml:description>
          <maml:para>String. Name or part of the Voice Route. Can be omitted to list Names of all Routes (except "Global"). If provided without a '*' in the name, an exact match is sought.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
      <command:inputType>
        <dev:type>
          <maml:name>System.String</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>This script is indulging the lazy admin. It behaves like Get-CsOnlineVoiceRoute with a twist: If more than three results are found, a reduced set of Parameters are shown for better visibility: Get-CsOnlineVoiceRoute | Where-Object Identity -NE 'LocalRoute' | Select-Object Identity, Priority, NumberPattern, OnlinePstnGatewayList</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>Get-TeamsOVR</dev:code>
        <dev:remarks>
          <maml:para>Returns the Object for all Online Voice Routes (except "LocalRoute") Behaviour like: Get-CsOnlineVoiceRoute, if more than 3 results are found, only names are returned</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title>
        <dev:code>Get-TeamsOVR -Identity OVR-EMEA-National</dev:code>
        <dev:remarks>
          <maml:para>Returns the Object for the Online Voice Route "OVR-EMEA-National" (provided it exists). Behaviour like: Get-CsOnlineVoiceRoute -Identity "OVR-EMEA-National"</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 3 --------------------------</maml:title>
        <dev:code>Get-TeamsOVR -Identity OVR-EMEA-*</dev:code>
        <dev:remarks>
          <maml:para>Lists Online Voice Routes with "OVR-EMEA-" in the Name Behaviour like: Get-CsOnlineVoiceRoute -Filter " OVR-EMEA- "</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Get-TeamsOVR.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Get-TeamsOVR.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_VoiceConfiguration.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_VoiceConfiguration.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_Supporting_Functions.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_Supporting_Functions.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-TeamsPhoneNumber</command:name>
      <command:verb>Get</command:verb>
      <command:noun>TeamsPhoneNumber</command:noun>
      <maml:description>
        <maml:para>Queries Phone Numbers in Teams and returns a concise result</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Wrapper for Get-CsPhoneNumberAssignment to ascertain the NumberType or filter by it. If a number is not found in the tenant it is assumed to be of the Type DirectRouting and an object is returned. For exact matches, the potential assignment is queried in addition to the boolean assignment status.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-TeamsPhoneNumber</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases="Number, TelephoneNumber">
          <maml:name>PhoneNumber</maml:name>
          <maml:description>
            <maml:para>Returns an Object abbreviated from Get-CsPhoneNumberAssignment of the type CallingPlan or OperatorConnect. Returns a mocked Object for DirectRouting Numbers as these numbers are not present in the tenant. Expected format is E.164 or LineUri. Requires full number. For more granular search use Get-CsPhoneNumberAssignment.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="2" aliases="PhoneNumberType, Type">
          <maml:name>NumberType</maml:name>
          <maml:description>
            <maml:para>Valid values are CallingPlan, OperatorConnect or DirectRouting Using DirectRouting will return an empty object as these numbers are not present in the tenant.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="3" aliases="LocationId, LocationName">
          <maml:name>Location</maml:name>
          <maml:description>
            <maml:para>Returns an Object abbreviated from Get-CsPhoneNumberAssignment of the type CallingPlan or OperatorConnect. Requires the LocationId or Location Name (DisplayName).</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="4" aliases="none">
          <maml:name>City</maml:name>
          <maml:description>
            <maml:para>Returns an Object abbreviated from Get-CsPhoneNumberAssignment of the type CallingPlan or OperatorConnect. Requires the City as displayed in Get-CsPhoneNumberAssignment. For DirectRouting this value will always be "All Locations" and cannot be queried by using this switch.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="5" aliases="none">
          <maml:name>CapabilitiesContain</maml:name>
          <maml:description>
            <maml:para>Returns an Object abbreviated from Get-CsPhoneNumberAssignment. Available options are: ConferenceAssignment, VoiceApplicationAssignment, UserAssignment</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none">
          <maml:name>IsNotAssigned</maml:name>
          <maml:description>
            <maml:para>Only returns free numbers</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases="Number, TelephoneNumber">
        <maml:name>PhoneNumber</maml:name>
        <maml:description>
          <maml:para>Returns an Object abbreviated from Get-CsPhoneNumberAssignment of the type CallingPlan or OperatorConnect. Returns a mocked Object for DirectRouting Numbers as these numbers are not present in the tenant. Expected format is E.164 or LineUri. Requires full number. For more granular search use Get-CsPhoneNumberAssignment.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="2" aliases="PhoneNumberType, Type">
        <maml:name>NumberType</maml:name>
        <maml:description>
          <maml:para>Valid values are CallingPlan, OperatorConnect or DirectRouting Using DirectRouting will return an empty object as these numbers are not present in the tenant.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="3" aliases="LocationId, LocationName">
        <maml:name>Location</maml:name>
        <maml:description>
          <maml:para>Returns an Object abbreviated from Get-CsPhoneNumberAssignment of the type CallingPlan or OperatorConnect. Requires the LocationId or Location Name (DisplayName).</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="4" aliases="none">
        <maml:name>City</maml:name>
        <maml:description>
          <maml:para>Returns an Object abbreviated from Get-CsPhoneNumberAssignment of the type CallingPlan or OperatorConnect. Requires the City as displayed in Get-CsPhoneNumberAssignment. For DirectRouting this value will always be "All Locations" and cannot be queried by using this switch.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="5" aliases="none">
        <maml:name>CapabilitiesContain</maml:name>
        <maml:description>
          <maml:para>Returns an Object abbreviated from Get-CsPhoneNumberAssignment. Available options are: ConferenceAssignment, VoiceApplicationAssignment, UserAssignment</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none">
        <maml:name>IsNotAssigned</maml:name>
        <maml:description>
          <maml:para>Only returns free numbers</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.String</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>Simple helper function to query a Phone Number and receive its NumberType. Other functionality is purely wrapped around Get-CsPhoneNumberAssignment to provide a rounded picture For full information, please use Get-CsPhoneNumberAssignment The corresponding Set-Cmdlet Set-TeamsPhoneNumber also supports the NumberType 'DirectRouting'. For searches by PhoneNumber, the CmdLet will interpret any number not found in the tenant to be of the type DirectRouting and return it as such.</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>Get-TeamsPhoneNumber -PhoneNumber +15551234567</dev:code>
        <dev:remarks>
          <maml:para>Returns one Phone Number Object for this string The Object returned is an abbreviation and extension of the Output displayed with Get-CsPhoneNumberAssignment.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title>
        <dev:code>Get-TeamsPhoneNumber -PhoneNumber +1555*</dev:code>
        <dev:remarks>
          <maml:para>Returns all Phone Number Objects found starting with this string</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 3 --------------------------</maml:title>
        <dev:code>Get-TeamsPhoneNumber -NumberType OperatorConnect</dev:code>
        <dev:remarks>
          <maml:para>Returns all Phone Numbers added to the tenant via OperatorConnect. Also available: CallingPlan</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 4 --------------------------</maml:title>
        <dev:code>Get-TeamsPhoneNumber -Location 00000000-0000-0000-0000-000000000000</dev:code>
        <dev:remarks>
          <maml:para>Returns all Phone Numbers present in the tenant that matches this LocationID (not the CivicAddressID) Available only for Numbers of PhoneNumberType CallingPlan</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 5 --------------------------</maml:title>
        <dev:code>Get-TeamsPhoneNumber -Location "R&amp;D Building"</dev:code>
        <dev:remarks>
          <maml:para>Returns all Phone Numbers present in the tenant that matches the location with the Description "R&amp;D Building" Search by location is only possible for Numbers of PhoneNumberType CallingPlan. For OperatorConnect the Location is set by the Operator and cannot be changed</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 6 --------------------------</maml:title>
        <dev:code>Get-TeamsPhoneNumber -City Auckland</dev:code>
        <dev:remarks>
          <maml:para>Returns all Phone Numbers present in the tenant that matches the City provided The City is required to be provided as displayed with Get-CsPhoneNumberAssignment</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 7 --------------------------</maml:title>
        <dev:code>Get-TeamsPhoneNumber -CapabilitiesContain UserAssignment</dev:code>
        <dev:remarks>
          <maml:para>Returns all Phone Numbers present in the tenant that can be assigned to a user</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 8 --------------------------</maml:title>
        <dev:code>Get-TeamsPhoneNumber -CapabilitiesContain UserAssignment -PhoneNumber +1555* -Location "R&amp;D Building"</dev:code>
        <dev:remarks>
          <maml:para>Returns all Phone Numbers present in the tenant that match all criteria, i.E. with the Capability to assign to User, the phone number starting with 1555 (* performs search), and the location translated from the description "R&amp;D Building"</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Get-TeamsPhoneNumber.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Get-TeamsPhoneNumber.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_VoiceConfiguration.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_VoiceConfiguration.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_UserManagement.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_UserManagement.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_Supporting_Functions.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_Supporting_Functions.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-TeamsResourceAccount</command:name>
      <command:verb>Get</command:verb>
      <command:noun>TeamsResourceAccount</command:noun>
      <maml:description>
        <maml:para>Returns Resource Accounts from AzureAD</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Returns one or more Resource Accounts based on input. This runs Get-CsOnlineApplicationInstance but reformats the Output with friendly names</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-TeamsResourceAccount</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases="ObjectId, Identity">
          <maml:name>UserPrincipalName</maml:name>
          <maml:description>
            <maml:para>Default and positional. One or more UserPrincipalNames to be queried.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
          <dev:type>
            <maml:name>String[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>IncludeTotalCount</maml:name>
          <maml:description>
            <maml:para>Reports the total number of objects in the data set (an integer) followed by the selected objects. If the cmdlet cannot determine the total count, it displays "Unknown total count." The integer has an Accuracy property that indicates the reliability of the total count value. The value of Accuracy ranges from 0.0 to 1.0 where 0.0 means that the cmdlet could not count the objects, 1.0 means that the count is exact, and a value between 0.0 and 1.0 indicates an increasingly reliable estimate.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Skip</maml:name>
          <maml:description>
            <maml:para>Ignores the specified number of objects and then gets the remaining objects. Enter the number of objects to skip.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">UInt64</command:parameterValue>
          <dev:type>
            <maml:name>UInt64</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>First</maml:name>
          <maml:description>
            <maml:para>Gets only the specified number of objects. Enter the number of objects to get.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">UInt64</command:parameterValue>
          <dev:type>
            <maml:name>UInt64</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <command:syntaxItem>
        <maml:name>Get-TeamsResourceAccount</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none">
          <maml:name>DisplayName</maml:name>
          <maml:description>
            <maml:para>Optional. Search parameter. Alternative to Find-TeamsResourceAccount Use Find-TeamsUserVoiceConfig for more search options</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>IncludeTotalCount</maml:name>
          <maml:description>
            <maml:para>Reports the total number of objects in the data set (an integer) followed by the selected objects. If the cmdlet cannot determine the total count, it displays "Unknown total count." The integer has an Accuracy property that indicates the reliability of the total count value. The value of Accuracy ranges from 0.0 to 1.0 where 0.0 means that the cmdlet could not count the objects, 1.0 means that the count is exact, and a value between 0.0 and 1.0 indicates an increasingly reliable estimate.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Skip</maml:name>
          <maml:description>
            <maml:para>Ignores the specified number of objects and then gets the remaining objects. Enter the number of objects to skip.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">UInt64</command:parameterValue>
          <dev:type>
            <maml:name>UInt64</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>First</maml:name>
          <maml:description>
            <maml:para>Gets only the specified number of objects. Enter the number of objects to get.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">UInt64</command:parameterValue>
          <dev:type>
            <maml:name>UInt64</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <command:syntaxItem>
        <maml:name>Get-TeamsResourceAccount</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="Type">
          <maml:name>ApplicationType</maml:name>
          <maml:description>
            <maml:para>Optional. Returns all Call Queues or AutoAttendants</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>IncludeTotalCount</maml:name>
          <maml:description>
            <maml:para>Reports the total number of objects in the data set (an integer) followed by the selected objects. If the cmdlet cannot determine the total count, it displays "Unknown total count." The integer has an Accuracy property that indicates the reliability of the total count value. The value of Accuracy ranges from 0.0 to 1.0 where 0.0 means that the cmdlet could not count the objects, 1.0 means that the count is exact, and a value between 0.0 and 1.0 indicates an increasingly reliable estimate.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Skip</maml:name>
          <maml:description>
            <maml:para>Ignores the specified number of objects and then gets the remaining objects. Enter the number of objects to skip.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">UInt64</command:parameterValue>
          <dev:type>
            <maml:name>UInt64</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>First</maml:name>
          <maml:description>
            <maml:para>Gets only the specified number of objects. Enter the number of objects to get.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">UInt64</command:parameterValue>
          <dev:type>
            <maml:name>UInt64</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <command:syntaxItem>
        <maml:name>Get-TeamsResourceAccount</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="Tel, Number, TelephoneNumber">
          <maml:name>PhoneNumber</maml:name>
          <maml:description>
            <maml:para>Optional. Returns all ResourceAccount with a specific string in the PhoneNumber</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>IncludeTotalCount</maml:name>
          <maml:description>
            <maml:para>Reports the total number of objects in the data set (an integer) followed by the selected objects. If the cmdlet cannot determine the total count, it displays "Unknown total count." The integer has an Accuracy property that indicates the reliability of the total count value. The value of Accuracy ranges from 0.0 to 1.0 where 0.0 means that the cmdlet could not count the objects, 1.0 means that the count is exact, and a value between 0.0 and 1.0 indicates an increasingly reliable estimate.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Skip</maml:name>
          <maml:description>
            <maml:para>Ignores the specified number of objects and then gets the remaining objects. Enter the number of objects to skip.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">UInt64</command:parameterValue>
          <dev:type>
            <maml:name>UInt64</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>First</maml:name>
          <maml:description>
            <maml:para>Gets only the specified number of objects. Enter the number of objects to get.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">UInt64</command:parameterValue>
          <dev:type>
            <maml:name>UInt64</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases="ObjectId, Identity">
        <maml:name>UserPrincipalName</maml:name>
        <maml:description>
          <maml:para>Default and positional. One or more UserPrincipalNames to be queried.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
        <dev:type>
          <maml:name>String[]</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none">
        <maml:name>DisplayName</maml:name>
        <maml:description>
          <maml:para>Optional. Search parameter. Alternative to Find-TeamsResourceAccount Use Find-TeamsUserVoiceConfig for more search options</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="Type">
        <maml:name>ApplicationType</maml:name>
        <maml:description>
          <maml:para>Optional. Returns all Call Queues or AutoAttendants</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="Tel, Number, TelephoneNumber">
        <maml:name>PhoneNumber</maml:name>
        <maml:description>
          <maml:para>Optional. Returns all ResourceAccount with a specific string in the PhoneNumber</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>IncludeTotalCount</maml:name>
        <maml:description>
          <maml:para>Reports the total number of objects in the data set (an integer) followed by the selected objects. If the cmdlet cannot determine the total count, it displays "Unknown total count." The integer has an Accuracy property that indicates the reliability of the total count value. The value of Accuracy ranges from 0.0 to 1.0 where 0.0 means that the cmdlet could not count the objects, 1.0 means that the count is exact, and a value between 0.0 and 1.0 indicates an increasingly reliable estimate.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>Skip</maml:name>
        <maml:description>
          <maml:para>Ignores the specified number of objects and then gets the remaining objects. Enter the number of objects to skip.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">UInt64</command:parameterValue>
        <dev:type>
          <maml:name>UInt64</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>First</maml:name>
        <maml:description>
          <maml:para>Gets only the specified number of objects. Enter the number of objects to get.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">UInt64</command:parameterValue>
        <dev:type>
          <maml:name>UInt64</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
      <command:inputType>
        <dev:type>
          <maml:name>System.String</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>Pipeline input possible Running the CmdLet without any input might take a while, depending on size of the Tenant.</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>Get-TeamsResourceAccount</dev:code>
        <dev:remarks>
          <maml:para>Returns all Resource Accounts. Depending on size of the Tenant, this might take a while.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title>
        <dev:code>Get-TeamsResourceAccount -Identity ResourceAccount@TenantName.onmicrosoft.com</dev:code>
        <dev:remarks>
          <maml:para>Returns the Resource Account with the Identity specified, if found.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 3 --------------------------</maml:title>
        <dev:code>Get-TeamsResourceAccount -DisplayName "Queue"</dev:code>
        <dev:remarks>
          <maml:para>Returns all Resource Accounts with "Queue" as part of their Display Name. Use Find-TeamsResourceAccount / Find-CsOnlineApplicationInstance for finer search</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 4 --------------------------</maml:title>
        <dev:code>Get-TeamsResourceAccount -ApplicationType AutoAttendant</dev:code>
        <dev:remarks>
          <maml:para>Returns all Resource Accounts of the specified ApplicationType.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 5 --------------------------</maml:title>
        <dev:code>Get-TeamsResourceAccount -PhoneNumber +1555123456</dev:code>
        <dev:remarks>
          <maml:para>Returns the Resource Account with the Phone Number specified, if found.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Get-TeamsResourceAccount.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Get-TeamsResourceAccount.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_TeamsResourceAccount.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_TeamsResourceAccount.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-TeamsResourceAccountAssociation</command:name>
      <command:verb>Get</command:verb>
      <command:noun>TeamsResourceAccountAssociation</command:noun>
      <maml:description>
        <maml:para>Queries a Resource Account Association</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Queries an existing Resource Account and lists its Association (if any)</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-TeamsResourceAccountAssociation</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases="ObjectId, Identity">
          <maml:name>UserPrincipalName</maml:name>
          <maml:description>
            <maml:para>Optional. UPN(s) of the Resource Account(s) to be queried</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
          <dev:type>
            <maml:name>String[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases="ObjectId, Identity">
        <maml:name>UserPrincipalName</maml:name>
        <maml:description>
          <maml:para>Optional. UPN(s) of the Resource Account(s) to be queried</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
        <dev:type>
          <maml:name>String[]</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.String</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>Combination of Get-CsOnlineApplicationInstanceAssociation and Get-CsOnlineApplicationInstanceAssociationStatus but with friendly Names Without any Parameters, can be used to enumerate all Resource Accounts This may take a while to calculate, depending on # of Accounts in the Tenant</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>Get-TeamsResourceAccountAssociation</dev:code>
        <dev:remarks>
          <maml:para>Queries all Resource Accounts and enumerates their Association as well as the Association Status</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title>
        <dev:code>Get-TeamsResourceAccountAssociation -UserPrincipalName ResourceAccount@domain.com</dev:code>
        <dev:remarks>
          <maml:para>Queries the Association of the Account 'ResourceAccount@domain.com'</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Get-TeamsResourceAccountAssociation.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Get-TeamsResourceAccountAssociation.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_TeamsResourceAccount.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_TeamsResourceAccount.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-TeamsResourceAccountLineIdentity</command:name>
      <command:verb>Get</command:verb>
      <command:noun>TeamsResourceAccountLineIdentity</command:noun>
      <maml:description>
        <maml:para>Queries Calling Line Identity Objects for Resource Accounts</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Get-CsCallingLineIdentity with resolving Resource Account Ids to Names and displaying the underlying Phone Number</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-TeamsResourceAccountLineIdentity</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="ResourceAccount">
          <maml:name>UserPrincipalName</maml:name>
          <maml:description>
            <maml:para>Required - Parameter set RA. Identifies the CsCallingLineIdentity created for a specific Resource Account</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
          <dev:type>
            <maml:name>String[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>All</maml:name>
          <maml:description>
            <maml:para>Optional Switch. If not provided, will only display CsCallingLineIdentity Objects of the type Resource.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <command:syntaxItem>
        <maml:name>Get-TeamsResourceAccountLineIdentity</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none">
          <maml:name>Identity</maml:name>
          <maml:description>
            <maml:para>Required - Parameter set ID. Identifies the CsCallingLineIdentity by name. Default Parameter Set. If not specified, lists all of the type Resource</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
          <dev:type>
            <maml:name>String[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>All</maml:name>
          <maml:description>
            <maml:para>Optional Switch. If not provided, will only display CsCallingLineIdentity Objects of the type Resource.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <command:syntaxItem>
        <maml:name>Get-TeamsResourceAccountLineIdentity</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none">
          <maml:name>Filter</maml:name>
          <maml:description>
            <maml:para>Required. Searches for CsCallingLineIdentity by name</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>All</maml:name>
          <maml:description>
            <maml:para>Optional Switch. If not provided, will only display CsCallingLineIdentity Objects of the type Resource.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="ResourceAccount">
        <maml:name>UserPrincipalName</maml:name>
        <maml:description>
          <maml:para>Required - Parameter set RA. Identifies the CsCallingLineIdentity created for a specific Resource Account</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
        <dev:type>
          <maml:name>String[]</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none">
        <maml:name>Identity</maml:name>
        <maml:description>
          <maml:para>Required - Parameter set ID. Identifies the CsCallingLineIdentity by name. Default Parameter Set. If not specified, lists all of the type Resource</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
        <dev:type>
          <maml:name>String[]</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none">
        <maml:name>Filter</maml:name>
        <maml:description>
          <maml:para>Required. Searches for CsCallingLineIdentity by name</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>All</maml:name>
        <maml:description>
          <maml:para>Optional Switch. If not provided, will only display CsCallingLineIdentity Objects of the type Resource.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.String</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>The Calling Line Identity is created with New-TeamsResourceAccountLineIdentity (or with New-CsCallingLineIdentity). This CmdLet queries these objects and (provided the CallingIDSubstitute is 'Resource') resolves Resource Account ID to the Display Name and displays the Resource Accounts Phone Number. https://docs.microsoft.com/en-us/powershell/module/skype/Get-cscallinglineidentity?view=skype-ps</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>Get-TeamsResourceAccountLineIdentity -Identity 'My Calling Line Identity'</dev:code>
        <dev:remarks>
          <maml:para>Queries a Line Identity with the Name 'My Calling Line Identity'. - Default</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title>
        <dev:code>Get-TeamsResourceAccountLineIdentity -UserPrincipalName ResourceAccount@domain.com</dev:code>
        <dev:remarks>
          <maml:para>Queries a Line Identity for the Resource Account provided and displays this Object</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 3 --------------------------</maml:title>
        <dev:code>Get-TeamsResourceAccountLineIdentity -Filter '*Calling*'</dev:code>
        <dev:remarks>
          <maml:para>Queries all Line Identities with 'Calling' in the Name.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Get-TeamsResourceAccountLineIdentity.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Get-TeamsResourceAccountLineIdentity.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_TeamsFunctions.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_TeamsFunctions.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-TeamsTDP</command:name>
      <command:verb>Get</command:verb>
      <command:noun>TeamsTDP</command:noun>
      <maml:description>
        <maml:para>Lists all Tenant Dial Plans by Name</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>To quickly find Tenant Dial Plans to assign, an Alias-Function to Get-CsTenantDialPlan</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-TeamsTDP</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases="none">
          <maml:name>Identity</maml:name>
          <maml:description>
            <maml:para>If provided, acts as an Alias to Get-CsTenantDialPlan, listing one Dial Plan If not provided, lists Identities of all Tenant Dial Plans (except "Global")</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases="none">
        <maml:name>Identity</maml:name>
        <maml:description>
          <maml:para>If provided, acts as an Alias to Get-CsTenantDialPlan, listing one Dial Plan If not provided, lists Identities of all Tenant Dial Plans (except "Global")</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
      <command:inputType>
        <dev:type>
          <maml:name>System.String</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>This script is indulging the lazy admin. It behaves like Get-CsTenantDialPlan with a twist: If used without Parameter, a reduced set of Parameters are shown for better visibility: Without parameters, it executes the following string: Get-CsTenantDialPlan | Where-Object Identity -NE "Global" | Select-Object Identity, SimpleName, OptimizeDeviceDialing, Description</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>Get-TeamsTDP</dev:code>
        <dev:remarks>
          <maml:para>Returns the Object for all Tenant Dial Plans (except "Global") Behaviour like: Get-CsTenantDialPlan, showing only a few Parameters (no Normalization Rules)</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title>
        <dev:code>Get-TeamsTDP -Identity DP-HUN</dev:code>
        <dev:remarks>
          <maml:para>Lists Tenant Dial Plan DP-HUN as Get-CsTenantDialPlan does.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 3 --------------------------</maml:title>
        <dev:code>Get-TeamsTDP -Identity DP-HUN*</dev:code>
        <dev:remarks>
          <maml:para>Lists all Tenant Dials that contain the strign " DP-HUN " in the Name.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Get-TeamsTDP.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Get-TeamsTDP.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_VoiceConfiguration.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_VoiceConfiguration.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_Supporting_Functions.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_Supporting_Functions.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-TeamsTeamChannel</command:name>
      <command:verb>Get</command:verb>
      <command:noun>TeamsTeamChannel</command:noun>
      <maml:description>
        <maml:para>Returns a Channel Object from Team &amp; Channel Names or IDs</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Combining lookup for Team (Get-Team) and Channel (Get-TeamChannel) into one function to return the channel object.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-TeamsTeamChannel</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases="none">
          <maml:name>Team</maml:name>
          <maml:description>
            <maml:para>Required. Name or GroupId (Guid). As the name might not be unique, validation is performed for unique matches. If the input matches a 36-digit GUID, lookup is performed via GroupId, otherwise via DisplayName</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="2" aliases="none">
          <maml:name>Channel</maml:name>
          <maml:description>
            <maml:para>Required. Name or Id (Guid). If multiple Teams have been discovered, all Channels with this name in each team are returned. If the input matches a GUID (starting with "19:"), lookup is performed via Id, otherwise via DisplayName</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases="none">
        <maml:name>Team</maml:name>
        <maml:description>
          <maml:para>Required. Name or GroupId (Guid). As the name might not be unique, validation is performed for unique matches. If the input matches a 36-digit GUID, lookup is performed via GroupId, otherwise via DisplayName</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="2" aliases="none">
        <maml:name>Channel</maml:name>
        <maml:description>
          <maml:para>Required. Name or Id (Guid). If multiple Teams have been discovered, all Channels with this name in each team are returned. If the input matches a GUID (starting with "19:"), lookup is performed via Id, otherwise via DisplayName</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.String</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>This CmdLet combines two lookups in order to find a valid channel by Name(s). It is used to determine usability for Call Queues (Forward to Channel)</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>Get-TeamsTeamChannel -Team "My Team" -Channel "CallQueue"</dev:code>
        <dev:remarks>
          <maml:para>Searches for Teams with the DisplayName of "My Team". If found, looking for a channel with the DisplayName "CallQueue" If found, the Channel Object will be returned Multiple Objects could be returned if multiple Teams called "My Team" with Channels called "CallQueue" exist.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title>
        <dev:code>Get-TeamsTeamChannel -Team 1234abcd-1234-1234-1234abcd5678 -Channel "CallQueue"</dev:code>
        <dev:remarks>
          <maml:para>Searches for Teams with the GroupId of 1234abcd-1234-1234-1234abcd5678. If found, looking for a channel with the DisplayName "CallQueue" If found, the Channel Object will be returned</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 3 --------------------------</maml:title>
        <dev:code>Get-TeamsTeamChannel -Team "My Team" -Channel 19:1234abcd567890ef1234abcd567890ef@thread.skype</dev:code>
        <dev:remarks>
          <maml:para>Searches for Teams with the DisplayName of "My Team". If found, looking for a channel with the ID "19:1234abcd567890ef1234abcd567890ef@thread.skype" If found, the Channel Object will be returned</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 4 --------------------------</maml:title>
        <dev:code>Get-TeamsTeamChannel -Team 1234abcd-1234-1234-1234abcd5678 -Channel 19:1234abcd567890ef1234abcd567890ef@thread.skype</dev:code>
        <dev:remarks>
          <maml:para>If a Team with the GroupId 1234abcd-1234-1234-1234abcd5678 is found and this team has a channel with the ID "19:1234abcd567890ef1234abcd567890ef@thread.skype", the Channel Object will be returned This is the safest option as it will always find a correct result provided the entities exist.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Get-TeamsTeamChannel.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Get-TeamsTeamChannel.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_TeamsCallQueue.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_TeamsCallQueue.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-TeamsTelephoneNumber</command:name>
      <command:verb>Get</command:verb>
      <command:noun>TeamsTelephoneNumber</command:noun>
      <maml:description>
        <maml:para>Queries Phone Numbers in Teams and returns a concise result</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Wrapper for Get-CsOnlineTelephoneNumber to ascertain the PhoneNumberType or filter by it. Adds value to output with PhoneNumberType interpreted from parameters returned by Get-CsOnlineTelephoneNumber. If a number is not found in the tenant it is assumed to be of the Type DirectRouting and an object is returned. For exact matches, the potential assignment is queried in addition to the boolean assignment status.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-TeamsTelephoneNumber</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases="Number, TelephoneNumber">
          <maml:name>PhoneNumber</maml:name>
          <maml:description>
            <maml:para>Returns an Object abbreviated from Get-CsOnlineTelephoneNumber of the type CallingPlan or OperatorConnect. Returns a mocked Object for DirectRouting Numbers as these numbers are not present in the tenant. Expected format is E.164 or LineUri. Requires full number. For more granular search use Get-CsOnlineTelephoneNumber.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="2" aliases="Type">
          <maml:name>PhoneNumberType</maml:name>
          <maml:description>
            <maml:para>Valid values are CallingPlan, OperatorConnect or DirectRouting Using DirectRouting will return an empty object as these numbers are not present in the tenant.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="3" aliases="LocationId, LocationName">
          <maml:name>Location</maml:name>
          <maml:description>
            <maml:para>Returns an Object abbreviated from Get-CsOnlineTelephoneNumber of the type CallingPlan or OperatorConnect. Requires the LocationId or Location Name (DisplayName).</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="4" aliases="City">
          <maml:name>CityCode</maml:name>
          <maml:description>
            <maml:para>Returns an Object abbreviated from Get-CsOnlineTelephoneNumber of the type CallingPlan or OperatorConnect. Requires the CityCode as displayed in Get-CsOnlineTelephoneNumber.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="5" aliases="none">
          <maml:name>InventoryType</maml:name>
          <maml:description>
            <maml:para>Returns an Object abbreviated from Get-CsOnlineTelephoneNumber of the type CallingPlan or OperatorConnect. Available options are: Subscriber (User), Service (Conferencing), TollFree</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none">
          <maml:name>IsNotAssigned</maml:name>
          <maml:description>
            <maml:para>Only returns free numbers</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases="Number, TelephoneNumber">
        <maml:name>PhoneNumber</maml:name>
        <maml:description>
          <maml:para>Returns an Object abbreviated from Get-CsOnlineTelephoneNumber of the type CallingPlan or OperatorConnect. Returns a mocked Object for DirectRouting Numbers as these numbers are not present in the tenant. Expected format is E.164 or LineUri. Requires full number. For more granular search use Get-CsOnlineTelephoneNumber.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="2" aliases="Type">
        <maml:name>PhoneNumberType</maml:name>
        <maml:description>
          <maml:para>Valid values are CallingPlan, OperatorConnect or DirectRouting Using DirectRouting will return an empty object as these numbers are not present in the tenant.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="3" aliases="LocationId, LocationName">
        <maml:name>Location</maml:name>
        <maml:description>
          <maml:para>Returns an Object abbreviated from Get-CsOnlineTelephoneNumber of the type CallingPlan or OperatorConnect. Requires the LocationId or Location Name (DisplayName).</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="4" aliases="City">
        <maml:name>CityCode</maml:name>
        <maml:description>
          <maml:para>Returns an Object abbreviated from Get-CsOnlineTelephoneNumber of the type CallingPlan or OperatorConnect. Requires the CityCode as displayed in Get-CsOnlineTelephoneNumber.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="5" aliases="none">
        <maml:name>InventoryType</maml:name>
        <maml:description>
          <maml:para>Returns an Object abbreviated from Get-CsOnlineTelephoneNumber of the type CallingPlan or OperatorConnect. Available options are: Subscriber (User), Service (Conferencing), TollFree</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none">
        <maml:name>IsNotAssigned</maml:name>
        <maml:description>
          <maml:para>Only returns free numbers</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.String</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>Simple helper function to query a Phone Number and receive its PhoneNumberType. Sister Function to Get-TeamsPhoneNumber which queries Get-CsPhoneNumberAssignment. Other functionality is purely wrapped around Get-CsOnlineTelephoneNumber to provide a rounded picture For full information, please use Get-CsOnlineTelephoneNumber The corresponding Set-Cmdlet Set-TeamsPhoneNumber also supports the PhoneNumbertype 'DirectRouting'. For searches by PhoneNumber, the CmdLet will interpret any number not found in the tenant to be of the type DirectRouting and return it as such.</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>Get-TeamsTelephoneNumber -PhoneNumber +15551234567</dev:code>
        <dev:remarks>
          <maml:para>Returns all Phone Numbers starting with this string (this can be an exact result or an array of numbers) The Object returned is an abbreviation and extension of the Output displayed with Get-CsOnlineTelephoneNumber.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title>
        <dev:code>Get-TeamsTelephoneNumber -PhoneNumber +1555*</dev:code>
        <dev:remarks>
          <maml:para>Returns all Phone Number Objects found starting with this string</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 3 --------------------------</maml:title>
        <dev:code>Get-TeamsTelephoneNumber -PhoneNumberType OperatorConnect</dev:code>
        <dev:remarks>
          <maml:para>Returns all Phone Numbers added to the tenant via OperatorConnect. Also available: CallingPlan</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 4 --------------------------</maml:title>
        <dev:code>Get-TeamsTelephoneNumber -Location 00000000-0000-0000-0000-000000000000</dev:code>
        <dev:remarks>
          <maml:para>Returns all Phone Numbers present in the tenant that matches this location ID Available only for Numbers of PhoneNumberType CallingPlan</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 5 --------------------------</maml:title>
        <dev:code>Get-TeamsTelephoneNumber -Location "R&amp;D Building"</dev:code>
        <dev:remarks>
          <maml:para>Returns all Phone Numbers present in the tenant that matches the location with the Description "R&amp;D Building" Search by location is only possible for Numbers of PhoneNumberType CallingPlan. For OperatorConnect the Location is set by the Operator and cannot be changed</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 6 --------------------------</maml:title>
        <dev:code>Get-TeamsTelephoneNumber -CityCode APAC-NZ-ALL-AUK_AU</dev:code>
        <dev:remarks>
          <maml:para>Returns all Phone Numbers present in the tenant that matches the City Code provided The CityCode is required to be provided as displayed with Get-CsOnlineTelephoneNumber</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 7 --------------------------</maml:title>
        <dev:code>Get-TeamsTelephoneNumber -InventoryType Subscriber</dev:code>
        <dev:remarks>
          <maml:para>Returns all Phone Numbers present in the tenant with the InventoryType Subscriber Available options are: Subscriber (User), Service (Conferencing), TollFree</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 8 --------------------------</maml:title>
        <dev:code>Get-TeamsTelephoneNumber -InventoryType Subscriber -PhoneNumber +1555* -Location "R&amp;D Building"</dev:code>
        <dev:remarks>
          <maml:para>Returns all Phone Numbers present in the tenant that match all criteria, i.E. with the InventoryType Subscriber, the phone number starting with 1555 (* performs search), and the location translated from the description "R&amp;D Building"</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Get-TeamsTelephoneNumber.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Get-TeamsTelephoneNumber.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_VoiceConfiguration.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_VoiceConfiguration.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_UserManagement.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_UserManagement.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_Supporting_Functions.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_Supporting_Functions.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-TeamsTenant</command:name>
      <command:verb>Get</command:verb>
      <command:noun>TeamsTenant</command:noun>
      <maml:description>
        <maml:para>Lists basic Tenant information</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>To gain a quick overview, this wrapper for Get-CsTenant will display basic information</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-TeamsTenant</maml:name>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters />
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>None</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>Get-TeamsTenant</dev:code>
        <dev:remarks>
          <maml:para>Lists basic tenant information relevant for working on this Tenant</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Get-TeamsTenant.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Get-TeamsTenant.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_Supporting_Functions.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_Supporting_Functions.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-TeamsTenantLicense</command:name>
      <command:verb>Get</command:verb>
      <command:noun>TeamsTenantLicense</command:noun>
      <maml:description>
        <maml:para>Returns one or all Teams Tenant licenses from a Tenant</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Returns an Object containing Teams related Licenses found in the Tenant Teams services can be provisioned through several different combinations of individual plans as well as add-on and grouped license SKUs. This command displays these license SKUs in a more friendly format with descriptive names, SkuPartNumber, active, consumed, remaining, and expiring licenses.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-TeamsTenantLicense</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>License</maml:name>
          <maml:description>
            <maml:para>Optional. Limits the Output to one license. Accepted Values can be retrieved with Get-AzureAdLicense (Column ParameterName)</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Detailed</maml:name>
          <maml:description>
            <maml:para>Displays all Parameters. By default, only Parameters relevant to determine License availability are shown.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>DisplayAll</maml:name>
          <maml:description>
            <maml:para>Displays all Licenses, not only relevant Teams Licenses</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>Detailed</maml:name>
        <maml:description>
          <maml:para>Displays all Parameters. By default, only Parameters relevant to determine License availability are shown.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>DisplayAll</maml:name>
        <maml:description>
          <maml:para>Displays all Licenses, not only relevant Teams Licenses</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>License</maml:name>
        <maml:description>
          <maml:para>Optional. Limits the Output to one license. Accepted Values can be retrieved with Get-AzureAdLicense (Column ParameterName)</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.String</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>Requires a connection to Azure Active Directory</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>Get-TeamsTenantLicense</dev:code>
        <dev:remarks>
          <maml:para>Displays detailed information about all Teams related licenses found on the tenant.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title>
        <dev:code>Get-TeamsTenantLicense -License PhoneSystem</dev:code>
        <dev:remarks>
          <maml:para>Displays detailed information about the PhoneSystem license found on the tenant.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 3 --------------------------</maml:title>
        <dev:code>Get-TeamsTenantLicense -DisplayAll</dev:code>
        <dev:remarks>
          <maml:para>Displays values for all licenses, not only those found on the tenant.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 4 --------------------------</maml:title>
        <dev:code>Get-TeamsTenantLicense -Detailed</dev:code>
        <dev:remarks>
          <maml:para>Displays detailed information of all licenses found on the tenant.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Get-TeamsTenantLicense.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Get-TeamsTenantLicense.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_Licensing.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_Licensing.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-TeamsTenantVoiceConfig</command:name>
      <command:verb>Get</command:verb>
      <command:noun>TeamsTenantVoiceConfig</command:noun>
      <maml:description>
        <maml:para>Displays Information about available Voice Configuration in the Tenant</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Displays all Voice relevant information configured in the Tenant incl. counters for free Licenses and Numbers</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-TeamsTenantVoiceConfig</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>DisplayUserCounters</maml:name>
          <maml:description>
            <maml:para>Optional. Displays information about Users enabled for Teams and for EnterpriseVoice This extends Script execution depending on number of Users in the Tenant</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Detailed</maml:name>
          <maml:description>
            <maml:para>Optional. Displays more information about Voice Routing Policies, Dial Plans, etc.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>DisplayUserCounters</maml:name>
        <maml:description>
          <maml:para>Optional. Displays information about Users enabled for Teams and for EnterpriseVoice This extends Script execution depending on number of Users in the Tenant</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>Detailed</maml:name>
        <maml:description>
          <maml:para>Optional. Displays more information about Voice Routing Policies, Dial Plans, etc.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>General notes</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>Get-TeamsTenantVoiceConfig</dev:code>
        <dev:remarks>
          <maml:para>Displays Licenses for Call Plans, available Numbers, as well as Counters for all relevant Policies, available VoiceRoutingPolicies</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title>
        <dev:code>Get-TeamsTenantVoiceConfig DisplayUserCounters</dev:code>
        <dev:remarks>
          <maml:para>Displays a counters for Users in the Tenant as well as Users enabled for EnterpriseVoice This will run for a long time and may result in a timeout with AzureAd and with Teams. Handle with care.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 3 --------------------------</maml:title>
        <dev:code>Get-TeamsTenantVoiceConfig -Detailed</dev:code>
        <dev:remarks>
          <maml:para>Displays a detailed view also listing Names for DialPlans, PSTN Usages, Voice Routes and PSTN Gateways Also displays diagnostic parameters for troubleshooting</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Get-TeamsTenantVoiceConfig.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Get-TeamsTenantVoiceConfig.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_VoiceConfiguration.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_VoiceConfiguration.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_UserManagement.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_UserManagement.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-TeamsUserLicense</command:name>
      <command:verb>Get</command:verb>
      <command:noun>TeamsUserLicense</command:noun>
      <maml:description>
        <maml:para>Returns Teams License information for an Object in AzureAD</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Returns an Object containing all Teams related Licenses found for a specific Object Licenses and ServicePlans are nested in the respective parameters for further investigation</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-TeamsUserLicense</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases="ObjectId, Identity">
          <maml:name>UserPrincipalName</maml:name>
          <maml:description>
            <maml:para>The UserPrincipalName, ObjectId or Identity of the Object.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
          <dev:type>
            <maml:name>String[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>DisplayAll</maml:name>
          <maml:description>
            <maml:para>Displays all Licenses, not only identified or relevant Teams Licenses</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases="ObjectId, Identity">
        <maml:name>UserPrincipalName</maml:name>
        <maml:description>
          <maml:para>The UserPrincipalName, ObjectId or Identity of the Object.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
        <dev:type>
          <maml:name>String[]</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>DisplayAll</maml:name>
        <maml:description>
          <maml:para>Displays all Licenses, not only identified or relevant Teams Licenses</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.String</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>Requires a connection to Azure Active Directory</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>Get-TeamsUserLicense [-UserPrincipalName] John@domain.com</dev:code>
        <dev:remarks>
          <maml:para>Displays all licenses assigned to User John@domain.com</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title>
        <dev:code>Get-TeamsUserLicense -UserPrincipalName John@domain.com,Jane@domain.com</dev:code>
        <dev:remarks>
          <maml:para>Displays all licenses assigned to Users John@domain.com and Jane@domain.com</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 3 --------------------------</maml:title>
        <dev:code>Import-Csv User.csv | Get-TeamsUserLicense</dev:code>
        <dev:remarks>
          <maml:para>Displays all licenses assigned to Users from User.csv, Column UserPrincipalName. The input file must have a single column heading of "UserPrincipalName" with properly formatted UPNs.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Get-TeamsUserLicense.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Get-TeamsUserLicense.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_Licensing.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_Licensing.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_UserManagement.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_UserManagement.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-TeamsUserLicenseServicePlan</command:name>
      <command:verb>Get</command:verb>
      <command:noun>TeamsUserLicenseServicePlan</command:noun>
      <maml:description>
        <maml:para>Returns License information (ServicePlans) for an Object in AzureAD</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Returns an Object containing all Teams related ServicePlans (for Licenses assigned) for a specific Object</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-TeamsUserLicenseServicePlan</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases="ObjectId, Identity">
          <maml:name>UserPrincipalName</maml:name>
          <maml:description>
            <maml:para>The UserPrincipalName, ObjectId or Identity of the Object.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
          <dev:type>
            <maml:name>String[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>DisplayAll</maml:name>
          <maml:description>
            <maml:para>Displays all ServicePlans, not only relevant Teams Service Plans Also displays AllLicenses and AllServicePlans object for further processing</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases="ObjectId, Identity">
        <maml:name>UserPrincipalName</maml:name>
        <maml:description>
          <maml:para>The UserPrincipalName, ObjectId or Identity of the Object.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
        <dev:type>
          <maml:name>String[]</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>DisplayAll</maml:name>
        <maml:description>
          <maml:para>Displays all ServicePlans, not only relevant Teams Service Plans Also displays AllLicenses and AllServicePlans object for further processing</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.String</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>Requires a connection to Azure Active Directory</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>Get-TeamsUserLicenseServicePlan [-UserPrincipalName] John@domain.com</dev:code>
        <dev:remarks>
          <maml:para>Displays all licenses assigned to User John@domain.com</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title>
        <dev:code>Get-TeamsUserLicenseServicePlan -UserPrincipalName John@domain.com,Jane@domain.com</dev:code>
        <dev:remarks>
          <maml:para>Displays all licenses assigned to Users John@domain.com and Jane@domain.com</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 3 --------------------------</maml:title>
        <dev:code>Import-Csv User.csv | Get-TeamsUserLicenseServicePlan</dev:code>
        <dev:remarks>
          <maml:para>Displays all licenses assigned to Users from User.csv, Column UserPrincipalName, ObjectId or Identity. The input file must have a single column heading of "UserPrincipalName" with properly formatted UPNs.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Get-TeamsUserLicenseServicePlan.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Get-TeamsUserLicenseServicePlan.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_Licensing.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_Licensing.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_UserManagement.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_UserManagement.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-TeamsUserVoiceConfig</command:name>
      <command:verb>Get</command:verb>
      <command:noun>TeamsUserVoiceConfig</command:noun>
      <maml:description>
        <maml:para>Displays Voice Configuration Parameters for one or more Users</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Displays Voice Configuration Parameters with different Diagnostic Levels ranging from basic Voice Configuration up to Policies, Account Status &amp; DirSync Information</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-TeamsUserVoiceConfig</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases="ObjectId, Identity">
          <maml:name>UserPrincipalName</maml:name>
          <maml:description>
            <maml:para>Required. UserPrincipalName (UPN) of the User</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
          <dev:type>
            <maml:name>String[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="DiagLevel, Level, DL">
          <maml:name>DiagnosticLevel</maml:name>
          <maml:description>
            <maml:para>Optional. Value from 0 to 4. Higher values will display more parameters If not provided (and not suppressed with SkipLicenseCheck), will change the output of LicensesAssigned to ProductNames only See NOTES below for details.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
          <dev:type>
            <maml:name>Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="SkipLicense, SkipLic">
          <maml:name>SkipLicenseCheck</maml:name>
          <maml:description>
            <maml:para>Optional. Will not perform queries against User Licensing to improve performance</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>ReturnEmptyObject</maml:name>
          <maml:description>
            <maml:para>Optional. Returns an empty object for when no CsOnlineUser Object nor AzureAdUser Object can be found. This is useful for bulk-operations exporting this information to CSV</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>WriteErrorLog</maml:name>
          <maml:description>
            <maml:para>Optional. If Errors are encountered, writes log to C:\Temp</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases="ObjectId, Identity">
        <maml:name>UserPrincipalName</maml:name>
        <maml:description>
          <maml:para>Required. UserPrincipalName (UPN) of the User</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
        <dev:type>
          <maml:name>String[]</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="DiagLevel, Level, DL">
        <maml:name>DiagnosticLevel</maml:name>
        <maml:description>
          <maml:para>Optional. Value from 0 to 4. Higher values will display more parameters If not provided (and not suppressed with SkipLicenseCheck), will change the output of LicensesAssigned to ProductNames only See NOTES below for details.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
        <dev:type>
          <maml:name>Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>0</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="SkipLicense, SkipLic">
        <maml:name>SkipLicenseCheck</maml:name>
        <maml:description>
          <maml:para>Optional. Will not perform queries against User Licensing to improve performance</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>ReturnEmptyObject</maml:name>
        <maml:description>
          <maml:para>Optional. Returns an empty object for when no CsOnlineUser Object nor AzureAdUser Object can be found. This is useful for bulk-operations exporting this information to CSV</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>WriteErrorLog</maml:name>
        <maml:description>
          <maml:para>Optional. If Errors are encountered, writes log to C:\Temp</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.String</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>DiagnosticLevel details: 1 Basic diagnostics for Hybrid Configuration or when moving users from On-prem Skype 2 Extended diagnostics displaying additional Voice-related Policies 3 Basic troubleshooting parameters from AzureAD like AccountEnabled, etc. 4 Extended troubleshooting parameters from AzureAD like LastDirSyncTime Parameters are additive, meaning with each DiagnosticLevel more information is displayed</maml:para>
        <maml:para>This script takes a select set of Parameters from AzureAD, Teams &amp; Licensing. For a full parameterset, please run: - for AzureAD: "Find-AzureAdUser $UserPrincipalName | FL"</maml:para>
        <maml:para>- for Licensing: "Get-AzureAdUserLicense $UserPrincipalName"</maml:para>
        <maml:para>- for Teams: "Get-CsOnlineUser $UserPrincipalName"</maml:para>
        <maml:para></maml:para>
        <maml:para>Exporting PowerShell Objects that contain Nested Objects as CSV results in this parameter being shown as "System.Object[]". Using any diagnostic level higher than 3 adds Parameter LicenseObject allowing to drill-down into Licensing Omitting it allows for visible data when exporting as a CSV.</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>Get-TeamsUserVoiceConfig -UserPrincipalName John@domain.com</dev:code>
        <dev:remarks>
          <maml:para>Shows Voice Configuration for John with a concise view of Parameters</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title>
        <dev:code>Get-TeamsUserVoiceConfig -UserPrincipalName John@domain.com -DiagnosticLevel 2</dev:code>
        <dev:remarks>
          <maml:para>Shows Voice Configuration for John with a extended list of Parameters (see NOTES)</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 3 --------------------------</maml:title>
        <dev:code>"John@domain.com" | Get-TeamsUserVoiceConfig -SkipLicenseCheck</dev:code>
        <dev:remarks>
          <maml:para>Shows Voice Configuration for John with a concise view of Parameters and skips validation of Licensing for this User.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 4 --------------------------</maml:title>
        <dev:code>Get-CsOnlineUser | Where-Object UsageLocation -eq "BE" | Get-TeamsUserVoiceConfig</dev:code>
        <dev:remarks>
          <maml:para>Shows Voice Configuration for all CsOnlineUsers with a UsageLocation set to Belgium. Returns concise view of Parameters For best results, please filter the Users first and add Diagnostic Levels at your discretion</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 5 --------------------------</maml:title>
        <dev:code>Get-TeamsUserVoiceConfig "NonExistentUser@domain.com" -WriteErrorLog -ReturnEmptyObject -DiagnosticLevel 3 | Export-Csv "C:\Temp\Get-TeamsUVC.csv" -Append</dev:code>
        <dev:remarks>
          <maml:para>Assuming the user does not exist, will write an error log to C:\Temp and returns an empty object with Diagnostic Level 3 The Output is written to a CSV file containing all parsed objects, whether found or not.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Get-TeamsUserVoiceConfig.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Get-TeamsUserVoiceConfig.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_VoiceConfiguration.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_VoiceConfiguration.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-TeamsVoiceNormalizationRule</command:name>
      <command:verb>Get</command:verb>
      <command:noun>TeamsVoiceNormalizationRule</command:noun>
      <maml:description>
        <maml:para>Lists Normalization Rules matching a string (Name), part of a Tenant Dial Plan (Parent) or a specific Identity</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Get-CsVoiceNormalizationRule is deprecated (removed) in MicrosoftTeams v4. This Cmdlet tries to alleviate this. Accepts the Identity (in the format "Dial Plan\NormalizationRule"), the Tenant Dial Plan Name (its Parent), or the Normalization Rule Name itself (Name). Wildcards can be used to search with each method.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-TeamsVoiceNormalizationRule</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>Identity</maml:name>
          <maml:description>
            <maml:para>String. Name or part of the Normalization Rule in the format "&lt;Teams Dial Plan&gt;\&lt;Normalization Rule Name&gt;". Required for ParameterSet Identity. Allows for Wildcard searches.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
          <dev:type>
            <maml:name>String[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <command:syntaxItem>
        <maml:name>Get-TeamsVoiceNormalizationRule</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="named" aliases="SimpleName">
          <maml:name>Parent</maml:name>
          <maml:description>
            <maml:para>String. Name or part of the Teams Dial Plan. Allows for Wildcard searches. Required for ParameterSet Parent.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Name</maml:name>
          <maml:description>
            <maml:para>String. Name or part of the Normalization Rule. Allows for Wildcard searches. Required for ParameterSet Name. Optional for ParameterSet Parent</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <command:syntaxItem>
        <maml:name>Get-TeamsVoiceNormalizationRule</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Name</maml:name>
          <maml:description>
            <maml:para>String. Name or part of the Normalization Rule. Allows for Wildcard searches. Required for ParameterSet Name. Optional for ParameterSet Parent</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>Identity</maml:name>
        <maml:description>
          <maml:para>String. Name or part of the Normalization Rule in the format "&lt;Teams Dial Plan&gt;\&lt;Normalization Rule Name&gt;". Required for ParameterSet Identity. Allows for Wildcard searches.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
        <dev:type>
          <maml:name>String[]</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="named" aliases="SimpleName">
        <maml:name>Parent</maml:name>
        <maml:description>
          <maml:para>String. Name or part of the Teams Dial Plan. Allows for Wildcard searches. Required for ParameterSet Parent.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>Name</maml:name>
        <maml:description>
          <maml:para>String. Name or part of the Normalization Rule. Allows for Wildcard searches. Required for ParameterSet Name. Optional for ParameterSet Parent</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.String</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>None</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>Get-TeamsVoiceNormalizationRule</dev:code>
        <dev:remarks>
          <maml:para>Prompts for Identity (mandatory input) Attention: Changed Behaviour. Previously, this showed a list of all Tenant Dial Plans, please run Get-TeamsTDP for that.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title>
        <dev:code>Get-TeamsVoiceNormalizationRule -Identity DP-HUN</dev:code>
        <dev:remarks>
          <maml:para>Returns Voice Normalisation Rules from the Tenant Dial Plan DP-HUN (provided it exists). Behaviour like: (Get-CsTenantDialPlan -Identity "DP-HUN").NormalizationRules</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 3 --------------------------</maml:title>
        <dev:code>Get-TeamsVoiceNormalizationRule -Identity DP-HUN*</dev:code>
        <dev:remarks>
          <maml:para>Returns Voice Normalisation Rules from all Tenant Dial Plans that match "DP-HUN*". Behaviour like: (Get-CsTenantDialPlan -Filter "DP-HUN*").NormalizationRules</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 4 --------------------------</maml:title>
        <dev:code>Get-TeamsVoiceNormalizationRule -Identity DP-HUN*\International</dev:code>
        <dev:remarks>
          <maml:para>Returns Voice Normalisation Rules "International" from all Tenant Dial Plans that match "DP-HUN*".</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 5 --------------------------</maml:title>
        <dev:code>Get-TeamsVoiceNormalizationRule -Identity DP-HUN*\*International</dev:code>
        <dev:remarks>
          <maml:para>Returns Voice Normalisation Rules that match " International" from all Tenant Dial Plans that match "DP-HUN ".</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 6 --------------------------</maml:title>
        <dev:code>Get-TeamsVoiceNormalizationRule -Parent DP-HUN</dev:code>
        <dev:remarks>
          <maml:para>Returns Voice Normalisation Rules from the Tenant Dial Plan DP-HUN (provided it exists). Behaviour like: (Get-CsTenantDialPlan -Identity "DP-HUN").NormalizationRules</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 7 --------------------------</maml:title>
        <dev:code>Get-TeamsVoiceNormalizationRule -Parent DP-HUN*</dev:code>
        <dev:remarks>
          <maml:para>Returns Voice Normalisation Rules from all Tenant Dial Plans that match "DP-HUN*". Behaviour like: (Get-CsTenantDialPlan -Filter "DP-HUN*").NormalizationRules</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 8 --------------------------</maml:title>
        <dev:code>Get-TeamsVoiceNormalizationRule -Parent DP-SLO -Name International</dev:code>
        <dev:remarks>
          <maml:para>Returns Voice Normalisation Rules "International" from the Tenant Dial Plans "DP-SLO".</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 9 --------------------------</maml:title>
        <dev:code>Get-TeamsVoiceNormalizationRule -Parent DP-SLO* -Name *Short*</dev:code>
        <dev:remarks>
          <maml:para>Returns Voice Normalisation Rules that match " Short " from all Tenant Dial Plans that match "DP-SLO*".</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 10 --------------------------</maml:title>
        <dev:code>Get-TeamsVoiceNormalizationRule -Name "EmergencyService"</dev:code>
        <dev:remarks>
          <maml:para>Returns Voice Normalisation Rules "EmergencyService" from all Tenant Dial Plans except Global.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 11 --------------------------</maml:title>
        <dev:code>Get-TeamsVoiceNormalizationRule -Name *Short*</dev:code>
        <dev:remarks>
          <maml:para>Returns Voice Normalisation Rules that match " Short " from all Tenant Dial Plans except Global.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Get-TeamsVoiceNormalizationRule.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Get-TeamsVoiceNormalizationRule.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_VoiceConfiguration.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_VoiceConfiguration.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_Supporting_Functions.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_Supporting_Functions.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-TeamsVoiceRoutingChain</command:name>
      <command:verb>Get</command:verb>
      <command:noun>TeamsVoiceRoutingChain</command:noun>
      <maml:description>
        <maml:para>Queries an Online Voice Routing Policy and all associated Objects dependent on configuration</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Returns a custom object detailing voice routing chain</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-TeamsVoiceRoutingChain</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="1" aliases="none">
          <maml:name>Object</maml:name>
          <maml:description>
            <maml:para>CsOnlineVoiceRoutingPolicy Object. Identifying the Online Voice Routing Policy Required to identify the correct OVP and start the determination chain</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Object[]</command:parameterValue>
          <dev:type>
            <maml:name>Object[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Detailed</maml:name>
          <maml:description>
            <maml:para>Optional Switch. Displays nested Objects for all Elements of the Voice Routing Chain By default, only Names of nested Objects are shown.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <command:syntaxItem>
        <maml:name>Get-TeamsVoiceRoutingChain</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="1" aliases="none">
          <maml:name>Identity</maml:name>
          <maml:description>
            <maml:para>String. Name (Identity) of the Online Voice Routing Policy Required to identify the correct OVP and start the determination chain</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
          <dev:type>
            <maml:name>String[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Detailed</maml:name>
          <maml:description>
            <maml:para>Optional Switch. Displays nested Objects for all Elements of the Voice Routing Chain By default, only Names of nested Objects are shown.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="1" aliases="none">
        <maml:name>Object</maml:name>
        <maml:description>
          <maml:para>CsOnlineVoiceRoutingPolicy Object. Identifying the Online Voice Routing Policy Required to identify the correct OVP and start the determination chain</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Object[]</command:parameterValue>
        <dev:type>
          <maml:name>Object[]</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="1" aliases="none">
        <maml:name>Identity</maml:name>
        <maml:description>
          <maml:para>String. Name (Identity) of the Online Voice Routing Policy Required to identify the correct OVP and start the determination chain</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
        <dev:type>
          <maml:name>String[]</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>Detailed</maml:name>
        <maml:description>
          <maml:para>Optional Switch. Displays nested Objects for all Elements of the Voice Routing Chain By default, only Names of nested Objects are shown.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.String</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
      <command:inputType>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>Sister CmdLet to Find-TeamsUserVoiceRoute that focuses on determining a Route for a Call dependent on the dialled number</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>Get-TeamsVoiceRoutingChain -Identity "OVP-AMER-GSIP-MX"</dev:code>
        <dev:remarks>
          <maml:para>Queries the Online Voice Routing Policy OVP-AMER-GSIP-MX and determines the Chain. Determines Pstn Usages nested in this Policy and Voice Routes that reference this Pstn Usage.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title>
        <dev:code>Get-TeamsVoiceRoutingChain -Identity "OVP-AMER-GSIP-MX" -Detailed</dev:code>
        <dev:remarks>
          <maml:para>Queries the Online Voice Routing Policy OVP-AMER-GSIP-MX and determines the Chain. Determines Pstn Usages nested in this Policy and Voice Routes that reference this Pstn Usage. Displays a tree object for the whole chain</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 3 --------------------------</maml:title>
        <dev:code>Get-TeamsVoiceRoutingChain -Identity $CsOnlineVoiceRoutingPolicy</dev:code>
        <dev:remarks>
          <maml:para>Queries the Online Voice Routing Policy Identified in the $CsOnlineVoiceRoutingPolicy Object and determines the Chain. Determines Pstn Usages nested in this Policy and Voice Routes that reference this Pstn Usage.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 4 --------------------------</maml:title>
        <dev:code>$CsOnlineVoiceRoutingPolicy | Get-TeamsVoiceRoutingChain</dev:code>
        <dev:remarks>
          <maml:para>Queries the Online Voice Routing Policy Identified in the $CsOnlineVoiceRoutingPolicy Object and determines the Chain. Determines Pstn Usages nested in this Policy and Voice Routes that reference this Pstn Usage.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Get-TeamsVoiceRoutingChain.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Get-TeamsVoiceRoutingChain.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Find-TeamsUserVoiceRoute.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Find-TeamsUserVoiceRoute.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Find-TeamsEmergencyCallRoute.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Find-TeamsEmergencyCallRoute.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_VoiceConfiguration.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_VoiceConfiguration.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Grant-TeamsEmergencyAddress</command:name>
      <command:verb>Grant</command:verb>
      <command:noun>TeamsEmergencyAddress</command:noun>
      <maml:description>
        <maml:para>Grants an existing Emergency Address (CivicAddress) to a User</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>The Civic Address used as an Emergency Address is assigned to the CsOnlineVoiceUser Object This is done by Name (Description) of the Address instead of the Id</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Grant-TeamsEmergencyAddress</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases="UserPrincipalName, ObjectId, PhoneNumber">
          <maml:name>Identity</maml:name>
          <maml:description>
            <maml:para>Required. UserPrincipalName or ObjectId of the User Object or a TelephoneNumber</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="2" aliases="none">
          <maml:name>PolicyName</maml:name>
          <maml:description>
            <maml:para>Type of Object presented. Determines Output</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>PassThru</maml:name>
          <maml:description>
            <maml:para>Optional. Displays Object after action.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi">
          <maml:name>WhatIf</maml:name>
          <maml:description>
            <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf">
          <maml:name>Confirm</maml:name>
          <maml:description>
            <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases="UserPrincipalName, ObjectId, PhoneNumber">
        <maml:name>Identity</maml:name>
        <maml:description>
          <maml:para>Required. UserPrincipalName or ObjectId of the User Object or a TelephoneNumber</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="2" aliases="none">
        <maml:name>PolicyName</maml:name>
        <maml:description>
          <maml:para>Type of Object presented. Determines Output</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>PassThru</maml:name>
        <maml:description>
          <maml:para>Optional. Displays Object after action.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi">
        <maml:name>WhatIf</maml:name>
        <maml:description>
          <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf">
        <maml:name>Confirm</maml:name>
        <maml:description>
          <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.String</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Void</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>This script looks up the Civic Address in the Lis-Database and feeds the Address Object to Set-CsOnlineVoiceUser This treats the Address like a Policy and behaves in the same way as the EmergencyCallingPolicy or the EmergencyCallRoutingPolicy to assign to a user. Accepts the Address Description or a LocationId directly. Can be utilised like any other policy. Aliases to Address are: AddressDescription, LocationId, PolicyName. https://docs.microsoft.com/en-us/microsoftteams/manage-emergency-call-routing-policies https://docs.microsoft.com/en-us/microsoftteams/configure-dynamic-emergency-calling</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>Grant-TeamsEmergencyAddress -Identity John@domain.com -Address "3rd Floor Cafe"</dev:code>
        <dev:remarks>
          <maml:para>Searches for the Civic Address with the Exact description of "3rd Floor Cafe" and assigns this Address to the User</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title>
        <dev:code>Grant-TeamsEmergencyAddress -Identity +15551234567 -Address "3rd Floor Cafe"</dev:code>
        <dev:remarks>
          <maml:para>Searches for the Civic Address with the Exact description of "3rd Floor Cafe" and assigns this Address to the Number +15551234567 if found in the Business Voice Directory AddressDescription is an Alias for Address</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 3 --------------------------</maml:title>
        <dev:code>Grant-TeamsEmergencyAddress -Identity John@domain.com -LocationId 0000000-0000-000000000000</dev:code>
        <dev:remarks>
          <maml:para>Searches for the Civic Address with the LocationId 0000000-0000-000000000000 and assigns this Address to the User LocationId is an Alias for Address</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 4 --------------------------</maml:title>
        <dev:code>Grant-TeamsEmergencyAddress -Identity +15551234567 -PolicyName 0000000-0000-000000000000</dev:code>
        <dev:remarks>
          <maml:para>Searches for the Civic Address with the LocationId 0000000-0000-000000000000 and assigns this Address to the Number +15551234567 if found in the Business Voice Directory PolicyName is an Alias for Address (as it fits the theme)</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Grant-TeamsEmergencyAddress.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Grant-TeamsEmergencyAddress.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_VoiceConfiguration.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_VoiceConfiguration.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Import-TeamsAudioFile</command:name>
      <command:verb>Import</command:verb>
      <command:noun>TeamsAudioFile</command:noun>
      <maml:description>
        <maml:para>Imports an AudioFile for CallQueues or AutoAttendants</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Imports an AudioFile for CallQueues or AutoAttendants with Import-CsOnlineAudioFile</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Import-TeamsAudioFile</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>File</maml:name>
          <maml:description>
            <maml:para>File to be imported</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
          <maml:name>ApplicationType</maml:name>
          <maml:description>
            <maml:para>ApplicationType of the entity it is for</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>File</maml:name>
        <maml:description>
          <maml:para>File to be imported</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
        <maml:name>ApplicationType</maml:name>
        <maml:description>
          <maml:para>ApplicationType of the entity it is for</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.String</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>Microsoft.Rtc.Management.Hosted.Online.Models.AudioFile</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>Translation of Import-CsOnlineAudioFile to process with New/Set-TeamsResourceAccount Simplifies the ApplicationType input for friendly names Captures different behavior of Get-Content (ByteStream syntax) in PowerShell 6 and above VS PowerShell 5 and below</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>Import-TeamsAudioFile -File C:\Temp\MyMusicOnHold.wav -ApplicationType CallQueue</dev:code>
        <dev:remarks>
          <maml:para>Imports MyMusicOnHold.wav into Teams, assigns it the type CallQueue and returns the imported Object for further use.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Import-TeamsAudioFile.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Import-TeamsAudioFile.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_TeamsAutoAttendant.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_TeamsAutoAttendant.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_TeamsCallQueue.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_TeamsCallQueue.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Limit-InstalledModule</command:name>
      <command:verb>Limit</command:verb>
      <command:noun>InstalledModule</command:noun>
      <maml:description>
        <maml:para>Removes older versions of installed modules.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Removes older versions of the discovered modules keeping them tidy and making space on your disk.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Limit-InstalledModule</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>Name</maml:name>
          <maml:description>
            <maml:para>List of modules to limit version to</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">System.Collections.Generic.List`1[System.Object]</command:parameterValue>
          <dev:type>
            <maml:name>System.Collections.Generic.List`1[System.Object]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>@()</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
          <maml:name>Exclude</maml:name>
          <maml:description>
            <maml:para>List of modules to exclude from limiting.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">System.Collections.Generic.List`1[System.Object]</command:parameterValue>
          <dev:type>
            <maml:name>System.Collections.Generic.List`1[System.Object]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>@()</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none">
          <maml:name>Repository</maml:name>
          <maml:description>
            <maml:para>String. If not provided, targets the PowerShell gallery (PsGallery) EXPERIMENTAL. Untested behaviour may occur for custom repositories Please use "Get-InstalledModule | Where Repository -eq 'MyRepo' | Update-Module" as an alternative</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>PsGallery</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Switch. Allows removal of Modules that were excluded because they are known to cause instabilities. This does not impact any Module specified with Exclude. Please see notes below. Handle with Care!</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi">
          <maml:name>WhatIf</maml:name>
          <maml:description>
            <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf">
          <maml:name>Confirm</maml:name>
          <maml:description>
            <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>Name</maml:name>
        <maml:description>
          <maml:para>List of modules to limit version to</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">System.Collections.Generic.List`1[System.Object]</command:parameterValue>
        <dev:type>
          <maml:name>System.Collections.Generic.List`1[System.Object]</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>@()</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
        <maml:name>Exclude</maml:name>
        <maml:description>
          <maml:para>List of modules to exclude from limiting.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">System.Collections.Generic.List`1[System.Object]</command:parameterValue>
        <dev:type>
          <maml:name>System.Collections.Generic.List`1[System.Object]</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>@()</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none">
        <maml:name>Repository</maml:name>
        <maml:description>
          <maml:para>String. If not provided, targets the PowerShell gallery (PsGallery) EXPERIMENTAL. Untested behaviour may occur for custom repositories Please use "Get-InstalledModule | Where Repository -eq 'MyRepo' | Update-Module" as an alternative</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>PsGallery</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>Force</maml:name>
        <maml:description>
          <maml:para>Switch. Allows removal of Modules that were excluded because they are known to cause instabilities. This does not impact any Module specified with Exclude. Please see notes below. Handle with Care!</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi">
        <maml:name>WhatIf</maml:name>
        <maml:description>
          <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf">
        <maml:name>Confirm</maml:name>
        <maml:description>
          <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.String</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Void</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>Inspired by Barbara Forbes (@ba4bes,https://4bes.nl) 'Update-EveryModule', just separated out into two scripts. This is splitting Update-EveryModule into Limit-InstalledModule: Removing old versions except the latest Update-InstalledModule: Updating modules with options</maml:para>
        <maml:para>Sensitive Modules or ones known to cause instabilities have been excluded by default: Az, PsReadline, PowerShellGet Override with Force to also target these protected modules (This does not impact the use of the Exclude parameter).</maml:para>
        <maml:para>Repositories other than PsGallery could not be tested.</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>Limit-InstalledModule</dev:code>
        <dev:remarks>
          <maml:para>Uninstalls all versions except the most recent version for ALL Modules found in Repository PsGallery This may not work for Modules in the AllUsers Scope if the Cmdlet is not run with Administrative rights.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title>
        <dev:code>Limit-InstalledModule [-Name] ImportExcel,AzureAD</dev:code>
        <dev:remarks>
          <maml:para>Uninstalls all versions except the most recent version for Modules ImportExcel and AzureAD</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 3 --------------------------</maml:title>
        <dev:code>Limit-InstalledModule -Exclude MySpecialModule -Repository MyRepo</dev:code>
        <dev:remarks>
          <maml:para>Uninstalls all versions except the most recent version of all Modules found installed from the Repository 'MyRepo', except MySpecialModule and the modules known to cause instabilities. Please see notes below. Limitations may apply</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 4 --------------------------</maml:title>
        <dev:code>Limit-InstalledModule -Exclude MicrosoftTeams -Force</dev:code>
        <dev:remarks>
          <maml:para>Uninstalls all versions except the most recent version of all Modules found in PsGallery, except MicrosoftTeams This will also target Modules known to cause instabilities. Please see notes below. Handle with Care!</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Limit-InstalledModule.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Limit-InstalledModule.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Update-InstalledModule.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Update-InstalledModule.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_ModuleManagement.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_ModuleManagement.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>New-AzureAdLicenseObject</command:name>
      <command:verb>New</command:verb>
      <command:noun>AzureAdLicenseObject</command:noun>
      <maml:description>
        <maml:para>Creates a new License Object for processing</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Helper function to create a new License Object</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>New-AzureAdLicenseObject</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="AddSkuId">
          <maml:name>SkuId</maml:name>
          <maml:description>
            <maml:para>SkuId(s) of the License to be added</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
          <dev:type>
            <maml:name>String[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
          <maml:name>RemoveSkuId</maml:name>
          <maml:description>
            <maml:para>SkuId(s) of the License to be removed</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
          <dev:type>
            <maml:name>String[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="AddSkuId">
        <maml:name>SkuId</maml:name>
        <maml:description>
          <maml:para>SkuId(s) of the License to be added</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
        <dev:type>
          <maml:name>String[]</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
        <maml:name>RemoveSkuId</maml:name>
        <maml:description>
          <maml:para>SkuId(s) of the License to be removed</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
        <dev:type>
          <maml:name>String[]</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.String</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>Microsoft.Open.AzureAD.Model.AssignedLicenses</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>This function does not require any connections to AzureAD. However, applying the output of this Function does. Used in Set-TeamsUserLicense and Add-TeamsUserLicense</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>New-AzureAdLicenseObject -SkuId e43b5b99-8dfb-405f-9987-dc307f34bcbd</dev:code>
        <dev:remarks>
          <maml:para>Will create a license Object for the MCOEV license .</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title>
        <dev:code>New-AzureAdLicenseObject -SkuId e43b5b99-8dfb-405f-9987-dc307f34bcbd -RemoveSkuId 440eaaa8-b3e0-484b-a8be-62870b9ba70a</dev:code>
        <dev:remarks>
          <maml:para>Will create a license Object based on the existing users License Adding the MCOEV license, removing the MCOEV_VIRTUALUSER license.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/New-AzureAdLicenseObject.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/New-AzureAdLicenseObject.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_Supporting_Functions.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_Supporting_Functions.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>New-TeamsAutoAttendant</command:name>
      <command:verb>New</command:verb>
      <command:noun>TeamsAutoAttendant</command:noun>
      <maml:description>
        <maml:para>Creating Auto Attendants with certain defaults or simplified input; Calling New-CsAutoAttendant</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>This script tries to simplify the creation of Auto Attendants by providing reasonable defaults and simplified input. It should be seen as an extension rather than a replacement of New-CsAutoAttendant. UserPrincipalNames can be provided instead of IDs, FileNames (FullName) can be provided instead of IDs</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>New-TeamsAutoAttendant</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="1" aliases="none">
          <maml:name>Name</maml:name>
          <maml:description>
            <maml:para>Name of the Auto Attendant. Name will be normalised (unsuitable characters are filtered) Used as the DisplayName - Visible in Teams</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>TimeZone</maml:name>
          <maml:description>
            <maml:para>Required. TimeZone Identifier based on Get-CsAutoAttendantSupportedTimeZone, but abbreviated for easier input. Warning: Due to multiple time zone names with in the same relative difference to UTC this MAY produce incongruent output The time zone will be correct, but only specifying "UTC+01:00" for example will select the first entry. Default Value: "UTC"</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>UTC</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>LanguageId</maml:name>
          <maml:description>
            <maml:para>Required. Language Identifier indicating the language that is used to play text and identify voice prompts. Default Value: "en-US"</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>En-US</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>BusinessHoursGreeting</maml:name>
          <maml:description>
            <maml:para>Optional. Creates a Greeting for the Default Call Flow (during business hours) utilising New-TeamsAutoAttendantPrompt A supported Audio File or a text string that is parsed by the text-to-voice engine in the Language specified The last 4 digits will determine the type. For an AudioFile they are expected to be the file extension: '.wav', '.wma' or '.mp3' If DefaultCallFlow is provided, this parameter will be ignored.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>BusinessHoursCallFlowOption</maml:name>
          <maml:description>
            <maml:para>Optional. Disconnect, TransferCallToTarget, Menu. Default is Disconnect. TransferCallToTarget requires BusinessHoursCallTarget. Menu requires BusinessHoursMenu If DefaultCallFlow is provided, this parameter will be ignored.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>BusinessHoursCallTarget</maml:name>
          <maml:description>
            <maml:para>Optional. Requires BusinessHoursCallFlowOption to be TransferCallToTarget. Creates a Callable entity for this Call Target. Expected are UserPrincipalName (User, ResourceAccount), a TelURI (ExternalPstn), an Office 365 Group Name (SharedVoicemail) If DefaultCallFlow is provided, this parameter will be ignored.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>BusinessHoursMenu</maml:name>
          <maml:description>
            <maml:para>Optional. Requires BusinessHoursCallFlowOption to be Menu and expects an AutoAttendantMenuObject If DefaultCallFlow is provided, this parameter will be ignored.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
          <dev:type>
            <maml:name>Object</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>AfterHoursGreeting</maml:name>
          <maml:description>
            <maml:para>Optional. Creates a Greeting for the After Hours Call Flow utilising New-TeamsAutoAttendantPrompt A supported Audio File or a text string that is parsed by the text-to-voice engine in the Language specified The last 4 digits will determine the type. For an AudioFile they are expected to be the file extension: '.wav', '.wma' or '.mp3' If CallFlows and CallHandlingAssociations are provided, this parameter will be ignored.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>AfterHoursCallFlowOption</maml:name>
          <maml:description>
            <maml:para>Optional. Disconnect, TransferCallToTarget, Menu. Default is Disconnect. TransferCallToTarget requires AfterHoursCallTarget. Menu requires AfterHoursMenu If CallFlows and CallHandlingAssociations are provided, this parameter will be ignored.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>AfterHoursCallTarget</maml:name>
          <maml:description>
            <maml:para>Optional. Requires AfterHoursCallFlowOption to be TransferCallToTarget. Creates a Callable entity for this Call Target Expected are UserPrincipalName (User, ResourceAccount), a TelURI (ExternalPstn), an Office 365 Group Name (SharedVoicemail) If CallFlows and CallHandlingAssociations are provided, this parameter will be ignored.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>AfterHoursMenu</maml:name>
          <maml:description>
            <maml:para>Optional. Requires AfterHoursCallFlowOption to be Menu and expects an AutoAttendantMenuObject If CallFlows and CallHandlingAssociations are provided, this parameter will be ignored.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
          <dev:type>
            <maml:name>Object</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>AfterHoursSchedule</maml:name>
          <maml:description>
            <maml:para>Optional. Default Schedule to apply: One of: MonToFri9to5 (default), MonToFri8to12and13to18, Open24x7 A more granular Schedule can be used with the Parameter -Schedule If CallFlows and CallHandlingAssociations are provided, this parameter will be ignored.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>HolidaySetGreeting</maml:name>
          <maml:description>
            <maml:para>Optional. Creates a Greeting for the Holiday Set Call Flow utilising New-TeamsAutoAttendantPrompt A supported Audio File or a text string that is parsed by the text-to-voice engine in the Language specified The last 4 digits will determine the type. For an AudioFile they are expected to be the file extension: '.wav', '.wma' or '.mp3' If CallFlows and CallHandlingAssociations are provided, this parameter will be ignored.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>HolidaySetCallFlowOption</maml:name>
          <maml:description>
            <maml:para>Optional. Disconnect, TransferCallToTarget, Menu. Default is Disconnect. TransferCallToTarget requires HolidaySetCallTarget. Menu requires HolidaySetMenu If CallFlows and CallHandlingAssociations are provided, this parameter will be ignored.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>HolidaySetCallTarget</maml:name>
          <maml:description>
            <maml:para>Optional. Requires HolidaySetCallFlowOption to be TransferCallToTarget. Creates a Callable entity for this Call Target Expected are UserPrincipalName (User, ResourceAccount), a TelURI (ExternalPstn), an Office 365 Group Name (SharedVoicemail) If CallFlows and CallHandlingAssociations are provided, this parameter will be ignored.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>HolidaySetMenu</maml:name>
          <maml:description>
            <maml:para>Optional. Requires HolidaySetCallFlowOption to be Menu and a HolidaySetCallTarget If CallFlows and CallHandlingAssociations are provided, this parameter will be ignored.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
          <dev:type>
            <maml:name>Object</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>HolidaySetSchedule</maml:name>
          <maml:description>
            <maml:para>Optional. Default Schedule to apply: Either a 2-digit Country Code to create the schedule for the next three years for, a Schedule Object created beforehand or an existing Schedule Object ID already created in the Tenant If not provided, an empty Schedule Object will be created which will never be in effect. If CallFlows and CallHandlingAssociations are provided, this parameter will be ignored.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
          <dev:type>
            <maml:name>Object</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Schedule</maml:name>
          <maml:description>
            <maml:para>Optional. Custom Schedule object to apply for After Hours Call Flow Object created with New-TeamsAutoAttendantSchedule or New-CsAutoAttendantSchedule If CallFlows and CallHandlingAssociations are provided, this parameter will be ignored. Using this parameter to provide a Schedule Object will override the Parameter -AfterHoursSchedule</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
          <dev:type>
            <maml:name>Object</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>DefaultCallFlow</maml:name>
          <maml:description>
            <maml:para>Optional. Call Flow Object to pass to New-CsAutoAttendant (used as the Default Call Flow) Using this parameter to define the default Call Flow overrides all -BusinessHours Parameters</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
          <dev:type>
            <maml:name>Object</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>CallFlows</maml:name>
          <maml:description>
            <maml:para>Optional. Call Flow Object to pass to New-CsAutoAttendant Using this parameter to define additional Call Flows overrides all -AfterHours &amp; -HolidaySet Parameters Requires Parameter CallHandlingAssociations in conjunction</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
          <dev:type>
            <maml:name>Object</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>CallHandlingAssociations</maml:name>
          <maml:description>
            <maml:para>Optional. Call Handling Associations Object to pass to New-CsAutoAttendant Using this parameter to define additional Call Flows overrides all -AfterHours &amp; -HolidaySet Parameters Requires Parameter CallFlows in conjunction</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
          <dev:type>
            <maml:name>Object</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Operator</maml:name>
          <maml:description>
            <maml:para>Optional. Creates a Callable entity for the Operator Expected are UserPrincipalName (User, ResourceAccount), a TelURI (ExternalPstn), an Office 365 Group Name (SharedVoicemail)</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>InclusionScope</maml:name>
          <maml:description>
            <maml:para>Optional. DialScope Object to pass to New-CsAutoAttendant Object created with New-TeamsAutoAttendantDialScope or New-CsAutoAttendantDialScope</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
          <dev:type>
            <maml:name>Object</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>ExclusionScope</maml:name>
          <maml:description>
            <maml:para>Optional. DialScope Object to pass to New-CsAutoAttendant Object created with New-TeamsAutoAttendantDialScope or New-CsAutoAttendantDialScope</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
          <dev:type>
            <maml:name>Object</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>EnableVoiceResponse</maml:name>
          <maml:description>
            <maml:para>Optional Switch to be passed to New-CsAutoAttendant</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>EnableTranscription</maml:name>
          <maml:description>
            <maml:para>Optional. Where possible, tries to enable Voicemail Transcription. Effective only for SharedVoicemail Targets as an Operator or MenuOption. Otherwise has no effect.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>AuthorizedUsers</maml:name>
          <maml:description>
            <maml:para>Optional. Users allowed to change certain aspects of the Auto Attendant (like Greetings or AudioFiles) These settings are governed by the assigned CsTeamsVoiceApplicationsPolicy (assigned to the User)</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
          <dev:type>
            <maml:name>String[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>VoiceId</maml:name>
          <maml:description>
            <maml:para>Optional. Gender of the Voice for VoiceResponses Instructs the speech interpreter to use a specific gender. Dependent on availability for the selected Language.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Suppresses confirmation prompt to enable Users for Enterprise Voice, if Users are specified Currently no other impact</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi">
          <maml:name>WhatIf</maml:name>
          <maml:description>
            <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf">
          <maml:name>Confirm</maml:name>
          <maml:description>
            <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="1" aliases="none">
        <maml:name>Name</maml:name>
        <maml:description>
          <maml:para>Name of the Auto Attendant. Name will be normalised (unsuitable characters are filtered) Used as the DisplayName - Visible in Teams</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>TimeZone</maml:name>
        <maml:description>
          <maml:para>Required. TimeZone Identifier based on Get-CsAutoAttendantSupportedTimeZone, but abbreviated for easier input. Warning: Due to multiple time zone names with in the same relative difference to UTC this MAY produce incongruent output The time zone will be correct, but only specifying "UTC+01:00" for example will select the first entry. Default Value: "UTC"</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>UTC</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>LanguageId</maml:name>
        <maml:description>
          <maml:para>Required. Language Identifier indicating the language that is used to play text and identify voice prompts. Default Value: "en-US"</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>En-US</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>BusinessHoursGreeting</maml:name>
        <maml:description>
          <maml:para>Optional. Creates a Greeting for the Default Call Flow (during business hours) utilising New-TeamsAutoAttendantPrompt A supported Audio File or a text string that is parsed by the text-to-voice engine in the Language specified The last 4 digits will determine the type. For an AudioFile they are expected to be the file extension: '.wav', '.wma' or '.mp3' If DefaultCallFlow is provided, this parameter will be ignored.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>BusinessHoursCallFlowOption</maml:name>
        <maml:description>
          <maml:para>Optional. Disconnect, TransferCallToTarget, Menu. Default is Disconnect. TransferCallToTarget requires BusinessHoursCallTarget. Menu requires BusinessHoursMenu If DefaultCallFlow is provided, this parameter will be ignored.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>BusinessHoursCallTarget</maml:name>
        <maml:description>
          <maml:para>Optional. Requires BusinessHoursCallFlowOption to be TransferCallToTarget. Creates a Callable entity for this Call Target. Expected are UserPrincipalName (User, ResourceAccount), a TelURI (ExternalPstn), an Office 365 Group Name (SharedVoicemail) If DefaultCallFlow is provided, this parameter will be ignored.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>BusinessHoursMenu</maml:name>
        <maml:description>
          <maml:para>Optional. Requires BusinessHoursCallFlowOption to be Menu and expects an AutoAttendantMenuObject If DefaultCallFlow is provided, this parameter will be ignored.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
        <dev:type>
          <maml:name>Object</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>AfterHoursGreeting</maml:name>
        <maml:description>
          <maml:para>Optional. Creates a Greeting for the After Hours Call Flow utilising New-TeamsAutoAttendantPrompt A supported Audio File or a text string that is parsed by the text-to-voice engine in the Language specified The last 4 digits will determine the type. For an AudioFile they are expected to be the file extension: '.wav', '.wma' or '.mp3' If CallFlows and CallHandlingAssociations are provided, this parameter will be ignored.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>AfterHoursCallFlowOption</maml:name>
        <maml:description>
          <maml:para>Optional. Disconnect, TransferCallToTarget, Menu. Default is Disconnect. TransferCallToTarget requires AfterHoursCallTarget. Menu requires AfterHoursMenu If CallFlows and CallHandlingAssociations are provided, this parameter will be ignored.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>AfterHoursCallTarget</maml:name>
        <maml:description>
          <maml:para>Optional. Requires AfterHoursCallFlowOption to be TransferCallToTarget. Creates a Callable entity for this Call Target Expected are UserPrincipalName (User, ResourceAccount), a TelURI (ExternalPstn), an Office 365 Group Name (SharedVoicemail) If CallFlows and CallHandlingAssociations are provided, this parameter will be ignored.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>AfterHoursMenu</maml:name>
        <maml:description>
          <maml:para>Optional. Requires AfterHoursCallFlowOption to be Menu and expects an AutoAttendantMenuObject If CallFlows and CallHandlingAssociations are provided, this parameter will be ignored.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
        <dev:type>
          <maml:name>Object</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>AfterHoursSchedule</maml:name>
        <maml:description>
          <maml:para>Optional. Default Schedule to apply: One of: MonToFri9to5 (default), MonToFri8to12and13to18, Open24x7 A more granular Schedule can be used with the Parameter -Schedule If CallFlows and CallHandlingAssociations are provided, this parameter will be ignored.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>HolidaySetGreeting</maml:name>
        <maml:description>
          <maml:para>Optional. Creates a Greeting for the Holiday Set Call Flow utilising New-TeamsAutoAttendantPrompt A supported Audio File or a text string that is parsed by the text-to-voice engine in the Language specified The last 4 digits will determine the type. For an AudioFile they are expected to be the file extension: '.wav', '.wma' or '.mp3' If CallFlows and CallHandlingAssociations are provided, this parameter will be ignored.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>HolidaySetCallFlowOption</maml:name>
        <maml:description>
          <maml:para>Optional. Disconnect, TransferCallToTarget, Menu. Default is Disconnect. TransferCallToTarget requires HolidaySetCallTarget. Menu requires HolidaySetMenu If CallFlows and CallHandlingAssociations are provided, this parameter will be ignored.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>HolidaySetCallTarget</maml:name>
        <maml:description>
          <maml:para>Optional. Requires HolidaySetCallFlowOption to be TransferCallToTarget. Creates a Callable entity for this Call Target Expected are UserPrincipalName (User, ResourceAccount), a TelURI (ExternalPstn), an Office 365 Group Name (SharedVoicemail) If CallFlows and CallHandlingAssociations are provided, this parameter will be ignored.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>HolidaySetMenu</maml:name>
        <maml:description>
          <maml:para>Optional. Requires HolidaySetCallFlowOption to be Menu and a HolidaySetCallTarget If CallFlows and CallHandlingAssociations are provided, this parameter will be ignored.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
        <dev:type>
          <maml:name>Object</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>HolidaySetSchedule</maml:name>
        <maml:description>
          <maml:para>Optional. Default Schedule to apply: Either a 2-digit Country Code to create the schedule for the next three years for, a Schedule Object created beforehand or an existing Schedule Object ID already created in the Tenant If not provided, an empty Schedule Object will be created which will never be in effect. If CallFlows and CallHandlingAssociations are provided, this parameter will be ignored.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
        <dev:type>
          <maml:name>Object</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>Schedule</maml:name>
        <maml:description>
          <maml:para>Optional. Custom Schedule object to apply for After Hours Call Flow Object created with New-TeamsAutoAttendantSchedule or New-CsAutoAttendantSchedule If CallFlows and CallHandlingAssociations are provided, this parameter will be ignored. Using this parameter to provide a Schedule Object will override the Parameter -AfterHoursSchedule</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
        <dev:type>
          <maml:name>Object</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>DefaultCallFlow</maml:name>
        <maml:description>
          <maml:para>Optional. Call Flow Object to pass to New-CsAutoAttendant (used as the Default Call Flow) Using this parameter to define the default Call Flow overrides all -BusinessHours Parameters</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
        <dev:type>
          <maml:name>Object</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>CallFlows</maml:name>
        <maml:description>
          <maml:para>Optional. Call Flow Object to pass to New-CsAutoAttendant Using this parameter to define additional Call Flows overrides all -AfterHours &amp; -HolidaySet Parameters Requires Parameter CallHandlingAssociations in conjunction</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
        <dev:type>
          <maml:name>Object</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>CallHandlingAssociations</maml:name>
        <maml:description>
          <maml:para>Optional. Call Handling Associations Object to pass to New-CsAutoAttendant Using this parameter to define additional Call Flows overrides all -AfterHours &amp; -HolidaySet Parameters Requires Parameter CallFlows in conjunction</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
        <dev:type>
          <maml:name>Object</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>Operator</maml:name>
        <maml:description>
          <maml:para>Optional. Creates a Callable entity for the Operator Expected are UserPrincipalName (User, ResourceAccount), a TelURI (ExternalPstn), an Office 365 Group Name (SharedVoicemail)</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>InclusionScope</maml:name>
        <maml:description>
          <maml:para>Optional. DialScope Object to pass to New-CsAutoAttendant Object created with New-TeamsAutoAttendantDialScope or New-CsAutoAttendantDialScope</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
        <dev:type>
          <maml:name>Object</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>ExclusionScope</maml:name>
        <maml:description>
          <maml:para>Optional. DialScope Object to pass to New-CsAutoAttendant Object created with New-TeamsAutoAttendantDialScope or New-CsAutoAttendantDialScope</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
        <dev:type>
          <maml:name>Object</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>EnableVoiceResponse</maml:name>
        <maml:description>
          <maml:para>Optional Switch to be passed to New-CsAutoAttendant</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>EnableTranscription</maml:name>
        <maml:description>
          <maml:para>Optional. Where possible, tries to enable Voicemail Transcription. Effective only for SharedVoicemail Targets as an Operator or MenuOption. Otherwise has no effect.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>AuthorizedUsers</maml:name>
        <maml:description>
          <maml:para>Optional. Users allowed to change certain aspects of the Auto Attendant (like Greetings or AudioFiles) These settings are governed by the assigned CsTeamsVoiceApplicationsPolicy (assigned to the User)</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
        <dev:type>
          <maml:name>String[]</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>VoiceId</maml:name>
        <maml:description>
          <maml:para>Optional. Gender of the Voice for VoiceResponses Instructs the speech interpreter to use a specific gender. Dependent on availability for the selected Language.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>Force</maml:name>
        <maml:description>
          <maml:para>Suppresses confirmation prompt to enable Users for Enterprise Voice, if Users are specified Currently no other impact</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi">
        <maml:name>WhatIf</maml:name>
        <maml:description>
          <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf">
        <maml:name>Confirm</maml:name>
        <maml:description>
          <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.String</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>BusinessHours Parameters aim to simplify input for the Default Call Flow AfterHours Parameters aim to simplify input for the After Hours Call Flow HolidaySet Parameters aim to simplify input for the Holiday Set Call Flow Use of CsAutoAttendant Parameters will override the respective '-BusinessHours', '-AfterHours' and '-HolidaySet' Parameters</maml:para>
        <maml:para>InclusionScope and ExclusionScope Objects can be created with New-TeamsAutoAttendantDialScope and the Group Names This was deliberately not integrated into this CmdLet</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>New-TeamsAutoAttendant -Name "My Auto Attendant"</dev:code>
        <dev:remarks>
          <maml:para>Creates a new Auto Attendant "My Auto Attendant" with Defaults TimeZone is UTC, Language is en-US and Schedule is Mon-Fri 9to5. Business hours and After Hours action is Disconnect</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title>
        <dev:code>New-TeamsAutoAttendant -Name "My Auto Attendant" -TimeZone UTC-05:00 -LanguageId pt-BR -AfterHoursSchedule MonToFri8to12and13to18 -EnableVoiceResponse</dev:code>
        <dev:remarks>
          <maml:para>Creates a new Auto Attendant "My Auto Attendant" and sets the TimeZone to UTC-5 and the language to Portuguese (Brazil) The Schedule of Mon-Fri 8to12 and 13to18 will be applied. Also enables VoiceResponses</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 3 --------------------------</maml:title>
        <dev:code>New-TeamsAutoAttendant -Name "My Auto Attendant" -Operator "tel:+1555123456"</dev:code>
        <dev:remarks>
          <maml:para>Creates a new Auto Attendant "My Auto Attendant" with default TimeZone and Language, but defines an Operator as a Callable Entity (Forward to Pstn)</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 4 --------------------------</maml:title>
        <dev:code>New-TeamsAutoAttendant -Name "My Auto Attendant" -BusinessHoursGreeting "Welcome to Contoso" -BusinessHoursCallFlowOption TransferCallToTarget -BusinessHoursCallTarget $CallTarget</dev:code>
        <dev:remarks>
          <maml:para>Creates a new Auto Attendant "My Auto Attendant" with defaults, but defines a Text-to-Voice Greeting, then forwards the Call to the Call Target. The CallTarget is queried based on input and created as required. UserPrincipalname for Users or ResourceAccount, Group Name for SharedVoicemail, provided as a string in the Variable $UPN This example is equally applicable to AfterHours.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 5 --------------------------</maml:title>
        <dev:code>New-TeamsAutoAttendant -Name "My Auto Attendant" -DefaultCallFlow $DefaultCallFlow -CallFlows $CallFlows -CallHandlingAssociations $CallHandlingAssociations -InclusionScope $InGroups -ExclusionScope $OutGroups</dev:code>
        <dev:remarks>
          <maml:para>Creates a new Auto Attendant "My Auto Attendant" and passes through all objects provided. In this example, provided Objects are passed on through tto New-CsAutoAttendant and override other respective Parmeters provided: A DefaultCallFlow Object is passed on which overrides all "-BusinessHours"-Parmeters. One or more CallFlows and one or more CallHandlingAssociation Objects are passed on overriding all "-AfterHours" and "-HolidaySet" Parameters An InclusionScope and an ExclusionScope are defined. These are passed on as-is All other values, like Language and TimeZone are defined with their defaults and can still be defined with the Objects.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/New-TeamsAutoAttendant.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/New-TeamsAutoAttendant.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_TeamsAutoAttendant.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_TeamsAutoAttendant.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>New-TeamsAutoAttendantCallFlow</command:name>
      <command:verb>New</command:verb>
      <command:noun>TeamsAutoAttendantCallFlow</command:noun>
      <maml:description>
        <maml:para>Creates a Call Flow Object to be used in Auto Attendants</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Creates a Call Flow with optional Prompt and Menu to be used in Auto Attendants Wrapper for New-CsAutoAttendantCallFlow with friendly names Combines New-CsAutoAttendantMenu, New-CsAutoAttendantPrompt</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>New-TeamsAutoAttendantCallFlow</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Name</maml:name>
          <maml:description>
            <maml:para>Optional. Name of the Call Flow if desired. Otherwise generated automatically.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Greeting</maml:name>
          <maml:description>
            <maml:para>Optional. A Prompts Object, String or Full path to AudioFile. A Prompts Object will be used as is, otherwise it will be created dependent of the provided String A String will be used as Text-to-Voice. A File ending in .wav, .mp3 or .wma will be used to create a recording.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
          <dev:type>
            <maml:name>Object</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Menu</maml:name>
          <maml:description>
            <maml:para>Optional. Menu Object to be used.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
          <dev:type>
            <maml:name>Object</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi">
          <maml:name>WhatIf</maml:name>
          <maml:description>
            <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf">
          <maml:name>Confirm</maml:name>
          <maml:description>
            <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <command:syntaxItem>
        <maml:name>New-TeamsAutoAttendantCallFlow</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Name</maml:name>
          <maml:description>
            <maml:para>Optional. Name of the Call Flow if desired. Otherwise generated automatically.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Greeting</maml:name>
          <maml:description>
            <maml:para>Optional. A Prompts Object, String or Full path to AudioFile. A Prompts Object will be used as is, otherwise it will be created dependent of the provided String A String will be used as Text-to-Voice. A File ending in .wav, .mp3 or .wma will be used to create a recording.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
          <dev:type>
            <maml:name>Object</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Disconnect</maml:name>
          <maml:description>
            <maml:para>Optional. Creates a default Menu, disconnecting the Call.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi">
          <maml:name>WhatIf</maml:name>
          <maml:description>
            <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf">
          <maml:name>Confirm</maml:name>
          <maml:description>
            <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <command:syntaxItem>
        <maml:name>New-TeamsAutoAttendantCallFlow</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Name</maml:name>
          <maml:description>
            <maml:para>Optional. Name of the Call Flow if desired. Otherwise generated automatically.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Greeting</maml:name>
          <maml:description>
            <maml:para>Optional. A Prompts Object, String or Full path to AudioFile. A Prompts Object will be used as is, otherwise it will be created dependent of the provided String A String will be used as Text-to-Voice. A File ending in .wav, .mp3 or .wma will be used to create a recording.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
          <dev:type>
            <maml:name>Object</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>TransferToCallTarget</maml:name>
          <maml:description>
            <maml:para>Optional. String. Creates a default Menu, redirecting to the specified Call Target UserPrincipalName (User, ResourceAccount), Group Name (Shared Voicemail), Tel Uri (ExternalPstn)</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi">
          <maml:name>WhatIf</maml:name>
          <maml:description>
            <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf">
          <maml:name>Confirm</maml:name>
          <maml:description>
            <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>Name</maml:name>
        <maml:description>
          <maml:para>Optional. Name of the Call Flow if desired. Otherwise generated automatically.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>Greeting</maml:name>
        <maml:description>
          <maml:para>Optional. A Prompts Object, String or Full path to AudioFile. A Prompts Object will be used as is, otherwise it will be created dependent of the provided String A String will be used as Text-to-Voice. A File ending in .wav, .mp3 or .wma will be used to create a recording.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
        <dev:type>
          <maml:name>Object</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>Menu</maml:name>
        <maml:description>
          <maml:para>Optional. Menu Object to be used.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
        <dev:type>
          <maml:name>Object</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>Disconnect</maml:name>
        <maml:description>
          <maml:para>Optional. Creates a default Menu, disconnecting the Call.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>TransferToCallTarget</maml:name>
        <maml:description>
          <maml:para>Optional. String. Creates a default Menu, redirecting to the specified Call Target UserPrincipalName (User, ResourceAccount), Group Name (Shared Voicemail), Tel Uri (ExternalPstn)</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi">
        <maml:name>WhatIf</maml:name>
        <maml:description>
          <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf">
        <maml:name>Confirm</maml:name>
        <maml:description>
          <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.String</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>Limitations: DialByName</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>New-TeamsAutoAttendantCallFlow [-Name "Default Call Flow"] -Menu $MenuObject [-Greeting $PromptObject]</dev:code>
        <dev:remarks>
          <maml:para>Classic behaviour, synonymous with functionality provided by New-CsAutoAttendantCallFlow. Please see parameters there. Creates Call Flow with the Menu Object provided and optionally applies the PromptObject as the Greeting.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title>
        <dev:code>New-TeamsAutoAttendantCallFlow -Menu $MenuObject -Greeting "Welcome to Contoso"</dev:code>
        <dev:remarks>
          <maml:para>Creates Call Flow with the Menu Object provided and creates the Greeting with the provided String (Text-to-voice)</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 3 --------------------------</maml:title>
        <dev:code>New-TeamsAutoAttendantCallFlow -TransferToCallTarget "John@domain.com"</dev:code>
        <dev:remarks>
          <maml:para>Creates a Menu Object to transfer the Call to a call Target and no Greeting UserPrincipalName (User, ResourceAccount), Group Name (Shared Voicemail), Tel Uri (ExternalPstn)</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 4 --------------------------</maml:title>
        <dev:code>New-TeamsAutoAttendantCallFlow -Disconnect</dev:code>
        <dev:remarks>
          <maml:para>Default. Creates Call Flow with a default Disconnect and no Greeting</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/New-TeamsAutoAttendantCallFlow.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/New-TeamsAutoAttendantCallFlow.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_TeamsAutoAttendant.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_TeamsAutoAttendant.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>New-TeamsAutoAttendantDialScope</command:name>
      <command:verb>New</command:verb>
      <command:noun>TeamsAutoAttendantDialScope</command:noun>
      <maml:description>
        <maml:para>Creates a Dial Scope to be used in Auto Attendants</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Wrapper for New-CsAutoAttendantDialScope with friendly names</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>New-TeamsAutoAttendantDialScope</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>GroupName</maml:name>
          <maml:description>
            <maml:para>Required. Name of one or more Office 365 groups to create a Dial Scope for</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
          <dev:type>
            <maml:name>String[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi">
          <maml:name>WhatIf</maml:name>
          <maml:description>
            <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf">
          <maml:name>Confirm</maml:name>
          <maml:description>
            <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>GroupName</maml:name>
        <maml:description>
          <maml:para>Required. Name of one or more Office 365 groups to create a Dial Scope for</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
        <dev:type>
          <maml:name>String[]</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi">
        <maml:name>WhatIf</maml:name>
        <maml:description>
          <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf">
        <maml:name>Confirm</maml:name>
        <maml:description>
          <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.String</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>None</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>New-TeamsAutoAttendantDialScope -GroupName "My Group"</dev:code>
        <dev:remarks>
          <maml:para>Creates a Dial Scope for "My Group"</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title>
        <dev:code>New-TeamsAutoAttendantDialScope -GroupName "My Group","My other Group"</dev:code>
        <dev:remarks>
          <maml:para>Creates a Dial Scope including "My Group" and "My other Group"</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/New-TeamsAutoAttendantDialScope.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/New-TeamsAutoAttendantDialScope.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_TeamsAutoAttendant.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_TeamsAutoAttendant.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>New-TeamsAutoAttendantMenu</command:name>
      <command:verb>New</command:verb>
      <command:noun>TeamsAutoAttendantMenu</command:noun>
      <maml:description>
        <maml:para>Creates a Menu Object to be used in Auto Attendants</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Creates a Menu Object with Prompt and/or MenuOptions to be used in Auto Attendants Wrapper for New-CsAutoAttendantMenu with friendly names Combines New-CsAutoAttendantMenu, New-CsAutoAttendantPrompt and New-CsAutoAttendantMenuOption</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>New-TeamsAutoAttendantMenu</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Name</maml:name>
          <maml:description>
            <maml:para>Optional. Name of the Menu if desired. Otherwise generated automatically.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Action</maml:name>
          <maml:description>
            <maml:para>Required. TransferToMenu, Disconnect, TransferToCallTarget. Determines the type of Menu to be created.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Prompts</maml:name>
          <maml:description>
            <maml:para>Required for Action "TransferToMenu" only. A Prompts Object, String or Full path to AudioFile. A Prompts Object will be used as is, otherwise it will be created dependent of the provided String A String will be used as Text-to-Voice. A File path ending in .wav, .mp3 or .wma will be used to create a recording.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
          <dev:type>
            <maml:name>Object</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="MenuOptionsInOrder">
          <maml:name>CallTargetsInOrder</maml:name>
          <maml:description>
            <maml:para>Required for Action "TransferToMenu" only. Mutually exclusive with MenuOptions. Call Targets for Menu Options. Expected UserPrincipalName (User, ResourceAccount), Group Name (Shared Voicemail), Tel Uri (ExternalPstn) Allows to skip options with empty strings ("") or "$null". See Examples for details DTMF tones are assigned in order with 0 being TransferToOperator</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
          <dev:type>
            <maml:name>String[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>AddOperatorOnZero</maml:name>
          <maml:description>
            <maml:para>Optional for Action "TransferToMenu" when used with CallTargetsInOrder only. This switch is ignored if more than nine (9) CallTargetsInOrder are specified Adds one more menu option to Transfer the Call to the Operator on pressing 0. The AutoAttendant which will receive a Menu with this option, must have an Operator defined. Creating or Updating an Auto Attendant with an Operator that is not defined will lead to errors.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>EnableDialByName</maml:name>
          <maml:description>
            <maml:para>Boolean. Required for Action "TransferToMenu" only. Enables Dial by Name for the Menu.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>DirectorySearchMethod</maml:name>
          <maml:description>
            <maml:para>String. Required for Action "TransferToMenu" only. Sets the Directory Search Method: None, ByName, ByExtension</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi">
          <maml:name>WhatIf</maml:name>
          <maml:description>
            <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf">
          <maml:name>Confirm</maml:name>
          <maml:description>
            <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <command:syntaxItem>
        <maml:name>New-TeamsAutoAttendantMenu</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Name</maml:name>
          <maml:description>
            <maml:para>Optional. Name of the Menu if desired. Otherwise generated automatically.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Action</maml:name>
          <maml:description>
            <maml:para>Required. TransferToMenu, Disconnect, TransferToCallTarget. Determines the type of Menu to be created.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Prompts</maml:name>
          <maml:description>
            <maml:para>Required for Action "TransferToMenu" only. A Prompts Object, String or Full path to AudioFile. A Prompts Object will be used as is, otherwise it will be created dependent of the provided String A String will be used as Text-to-Voice. A File path ending in .wav, .mp3 or .wma will be used to create a recording.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
          <dev:type>
            <maml:name>Object</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>MenuOptions</maml:name>
          <maml:description>
            <maml:para>Required for Action "TransferToMenu" only. Mutually exclusive with CallTargetsInOrder. MenuOptions objects created with either New-TeamsAutoAttendantMenuOption or New-CsAutoAttenantMenuOption.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Object[]</command:parameterValue>
          <dev:type>
            <maml:name>Object[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>EnableDialByName</maml:name>
          <maml:description>
            <maml:para>Boolean. Required for Action "TransferToMenu" only. Enables Dial by Name for the Menu.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>DirectorySearchMethod</maml:name>
          <maml:description>
            <maml:para>String. Required for Action "TransferToMenu" only. Sets the Directory Search Method: None, ByName, ByExtension</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi">
          <maml:name>WhatIf</maml:name>
          <maml:description>
            <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf">
          <maml:name>Confirm</maml:name>
          <maml:description>
            <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <command:syntaxItem>
        <maml:name>New-TeamsAutoAttendantMenu</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Name</maml:name>
          <maml:description>
            <maml:para>Optional. Name of the Menu if desired. Otherwise generated automatically.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Action</maml:name>
          <maml:description>
            <maml:para>Required. TransferToMenu, Disconnect, TransferToCallTarget. Determines the type of Menu to be created.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>CallTarget</maml:name>
          <maml:description>
            <maml:para>Required for Action "TransferToCallTarget" only. Single Call Target to redirect Calls to. UserPrincipalName (User, ResourceAccount), Group Name (Shared Voicemail), Tel Uri (ExternalPstn)</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>EnableDialByName</maml:name>
          <maml:description>
            <maml:para>Boolean. Required for Action "TransferToMenu" only. Enables Dial by Name for the Menu.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>DirectorySearchMethod</maml:name>
          <maml:description>
            <maml:para>String. Required for Action "TransferToMenu" only. Sets the Directory Search Method: None, ByName, ByExtension</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi">
          <maml:name>WhatIf</maml:name>
          <maml:description>
            <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf">
          <maml:name>Confirm</maml:name>
          <maml:description>
            <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>Name</maml:name>
        <maml:description>
          <maml:para>Optional. Name of the Menu if desired. Otherwise generated automatically.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>Action</maml:name>
        <maml:description>
          <maml:para>Required. TransferToMenu, Disconnect, TransferToCallTarget. Determines the type of Menu to be created.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>Prompts</maml:name>
        <maml:description>
          <maml:para>Required for Action "TransferToMenu" only. A Prompts Object, String or Full path to AudioFile. A Prompts Object will be used as is, otherwise it will be created dependent of the provided String A String will be used as Text-to-Voice. A File path ending in .wav, .mp3 or .wma will be used to create a recording.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
        <dev:type>
          <maml:name>Object</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>MenuOptions</maml:name>
        <maml:description>
          <maml:para>Required for Action "TransferToMenu" only. Mutually exclusive with CallTargetsInOrder. MenuOptions objects created with either New-TeamsAutoAttendantMenuOption or New-CsAutoAttenantMenuOption.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Object[]</command:parameterValue>
        <dev:type>
          <maml:name>Object[]</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="MenuOptionsInOrder">
        <maml:name>CallTargetsInOrder</maml:name>
        <maml:description>
          <maml:para>Required for Action "TransferToMenu" only. Mutually exclusive with MenuOptions. Call Targets for Menu Options. Expected UserPrincipalName (User, ResourceAccount), Group Name (Shared Voicemail), Tel Uri (ExternalPstn) Allows to skip options with empty strings ("") or "$null". See Examples for details DTMF tones are assigned in order with 0 being TransferToOperator</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
        <dev:type>
          <maml:name>String[]</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>CallTarget</maml:name>
        <maml:description>
          <maml:para>Required for Action "TransferToCallTarget" only. Single Call Target to redirect Calls to. UserPrincipalName (User, ResourceAccount), Group Name (Shared Voicemail), Tel Uri (ExternalPstn)</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>AddOperatorOnZero</maml:name>
        <maml:description>
          <maml:para>Optional for Action "TransferToMenu" when used with CallTargetsInOrder only. This switch is ignored if more than nine (9) CallTargetsInOrder are specified Adds one more menu option to Transfer the Call to the Operator on pressing 0. The AutoAttendant which will receive a Menu with this option, must have an Operator defined. Creating or Updating an Auto Attendant with an Operator that is not defined will lead to errors.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>EnableDialByName</maml:name>
        <maml:description>
          <maml:para>Boolean. Required for Action "TransferToMenu" only. Enables Dial by Name for the Menu.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>DirectorySearchMethod</maml:name>
        <maml:description>
          <maml:para>String. Required for Action "TransferToMenu" only. Sets the Directory Search Method: None, ByName, ByExtension</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi">
        <maml:name>WhatIf</maml:name>
        <maml:description>
          <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf">
        <maml:name>Confirm</maml:name>
        <maml:description>
          <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.String</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>Limitations: CallTargetsInOrder are Menu Options integrated and their type is parsed with Get-TeamsCallableEntity This provides the following limitation: Provided UPNs that are found to be AzureAdUsers are limited to be used as "Person in the Organisation" If forwarding to the Users Voicemail is required, please change this in the Admin Center afterwards. Alternatively, please define MenuOptions yourself and use with the MenuOptions Parameter.</maml:para>
        <maml:para>CallTargetsInOrder now supports a maximum 12 options. If Position 10 of the Object contains a valid target and a Menu Option is created for 'Press 0', the switch AddOperatorOnZero (if used) is ignored.</maml:para>
        <maml:para>To define Menu Options manually, please see: https://docs.microsoft.com/en-us/powershell/module/skype/new-csautoattendantmenuoption?view=skype-ps</maml:para>
        <maml:para>Please see 'Set up an auto attendant' for details: https://docs.microsoft.com/en-us/MicrosoftTeams/create-a-phone-system-auto-attendant?WT.mc_id=TeamsAdminCenterCSH</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>New-TeamsAutoAttendantMenu -Name "My Menu" -Action MenuOptions -Prompts $Prompts -MenuOptions $MenuOptions [-EnableDialByName $True] [-DirectorySearchMethod ByName]</dev:code>
        <dev:remarks>
          <maml:para>Classic behaviour, mostly synonymous with functionality provided by New-CsAutoAttendantMenu. Please see parameters there. Creates Menu with the MenuOptions Objects provided and applies the Prompts Object as the Greeting. Parameters EnableDialByName and DirectorySearchMethod can be used as outlined in New-CsAutoAttendantMenu</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title>
        <dev:code>New-TeamsAutoAttendantMenu -Action MenuOptions -Prompts "Press 1 for Sales..." -MenuOptions $MenuOptions -DirectorySearchMethod ByExtension</dev:code>
        <dev:remarks>
          <maml:para>Creates a Menu with a Prompt and MenuOptions. Creates a Prompts Object with the provided Text-to-voice string. Creates Menu with the MenuOptions Objects provided. DirectorySearchMethod is set to ByExtension</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 3 --------------------------</maml:title>
        <dev:code>New-TeamsAutoAttendantMenu -Action MenuOptions -Prompts "C:\temp\Menu.wav" -CallTargetsInOrder "MyCQ@domain.com","MyAA@domain.com","$null","tel:+15551234567","Please listen for our opening hours..."</dev:code>
        <dev:remarks>
          <maml:para>Creates a Menu with a Prompt and MenuOptions. Creates a Prompts Object with the provided Path to the Audio File. Creates a Menu Object with the Call Targets provided in order of application depending on identified ObjectType: Option 1 and 2 will be TransferToCallTarget (ResourceAccount), Call Queue and Auto Attendant respectively. Option 3 will not be assigned ($null), Option 4 will be TransferToCallTarget (ExternalPstn) Option 5 will be an Announcement (Text-to-Voice) - returns to main menu afterwards. This method does not allow specifying User Object that are intended to forward to the Users Voicemail!</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 4 --------------------------</maml:title>
        <dev:code>New-TeamsAutoAttendantMenu -Action MenuOptions -Prompts "Press 1 for John, Press 3 for My Group" -CallTargetsInOrder "John@domain.com","","My Group","C:\temp\OpeningHours.wav"</dev:code>
        <dev:remarks>
          <maml:para>Creates a Menu with a Prompt and MenuOptions. Creates a Prompts Object with the provided Text-to-voice string. Creates a Menu with MenuOptions Objects provided in order with the Parameter CallTargetsInOrder depending on identified ObjectType: Option 1 will be TransferToCallTarget (User), Option 2 is unassigned (empty string), Option 3 is TransferToCallTarget (Shared Voicemail) Option 4 will be an Announcement (AudioFile) - returns to main menu afterwards. Maximum 12 options are supported, if more than 9 are provided, the Switch AddOperatorOnZero (if used) is ignored. This method does not allow specifying User Object that are intended to forward to the Users Voicemail!</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 5 --------------------------</maml:title>
        <dev:code>New-TeamsAutoAttendantMenu -Action Disconnect</dev:code>
        <dev:remarks>
          <maml:para>Creates a default Menu, disconnecting the Call</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 6 --------------------------</maml:title>
        <dev:code>New-TeamsAutoAttendantMenu -Action TransferToOperator</dev:code>
        <dev:remarks>
          <maml:para>Creates a default Menu, transferring the Call to the Operator</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 7 --------------------------</maml:title>
        <dev:code>New-TeamsAutoAttendantMenu -Action TransferToCallTarget -CallTarget "John@domain.com"</dev:code>
        <dev:remarks>
          <maml:para>Creates a default Menu, transferring the Call to the Call target. Expected UserPrincipalName (User, ResourceAccount), Group Name (Shared Voicemail), Tel Uri (ExternalPstn)</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/New-TeamsAutoAttendantMenu.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/New-TeamsAutoAttendantMenu.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_TeamsAutoAttendant.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_TeamsAutoAttendant.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://docs.microsoft.com/en-us/MicrosoftTeams/create-a-phone-system-auto-attendant?WT.mc_id=TeamsAdminCenterCSH</maml:linkText>
        <maml:uri>https://docs.microsoft.com/en-us/MicrosoftTeams/create-a-phone-system-auto-attendant?WT.mc_id=TeamsAdminCenterCSH</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://docs.microsoft.com/en-us/powershell/module/skype/new-csautoattendantmenuoption?view=skype-ps</maml:linkText>
        <maml:uri>https://docs.microsoft.com/en-us/powershell/module/skype/new-csautoattendantmenuoption?view=skype-ps</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>New-TeamsAutoAttendantMenuOption</command:name>
      <command:verb>New</command:verb>
      <command:noun>TeamsAutoAttendantMenuOption</command:noun>
      <maml:description>
        <maml:para>Creates a Menu Options Object</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Creates a Menu Options Object to be used in Auto Attendants Wrapper for New-CsAutoAttendantMenuOption with friendly names</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>New-TeamsAutoAttendantMenuOption</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>DisconnectCall</maml:name>
          <maml:description>
            <maml:para>Required to create a basic 'Disconnect' option. Switch. Default.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi">
          <maml:name>WhatIf</maml:name>
          <maml:description>
            <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf">
          <maml:name>Confirm</maml:name>
          <maml:description>
            <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <command:syntaxItem>
        <maml:name>New-TeamsAutoAttendantMenuOption</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="DtmfResponseTone">
          <maml:name>Press</maml:name>
          <maml:description>
            <maml:para>Required for binding a specific Dial Key. Values of 0-9, 'Pound' or 'Star'. Dtmf Tone (digit) to be pressed for this option. Set to Automatic if not provided.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="VoiceResponses, Say">
          <maml:name>OrSay</maml:name>
          <maml:description>
            <maml:para>String. Optional for Option any call Target except Operator. Voice Response to be used for this option. Expected: Single word</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Announcement</maml:name>
          <maml:description>
            <maml:para>Required for Option Announcement. String for the Audio File OR Text-to-Voice</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi">
          <maml:name>WhatIf</maml:name>
          <maml:description>
            <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf">
          <maml:name>Confirm</maml:name>
          <maml:description>
            <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <command:syntaxItem>
        <maml:name>New-TeamsAutoAttendantMenuOption</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="DtmfResponseTone">
          <maml:name>Press</maml:name>
          <maml:description>
            <maml:para>Required for binding a specific Dial Key. Values of 0-9, 'Pound' or 'Star'. Dtmf Tone (digit) to be pressed for this option. Set to Automatic if not provided.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="VoiceResponses, Say">
          <maml:name>OrSay</maml:name>
          <maml:description>
            <maml:para>String. Optional for Option any call Target except Operator. Voice Response to be used for this option. Expected: Single word</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>CallTarget</maml:name>
          <maml:description>
            <maml:para>Required for Option TransferToCallTarget. String identifying the Call Target: UserPrincipalName (User, ResourceAccount), Group Name (Shared Voicemail), Tel Uri (ExternalPstn)</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi">
          <maml:name>WhatIf</maml:name>
          <maml:description>
            <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf">
          <maml:name>Confirm</maml:name>
          <maml:description>
            <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <command:syntaxItem>
        <maml:name>New-TeamsAutoAttendantMenuOption</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="DtmfResponseTone">
          <maml:name>Press</maml:name>
          <maml:description>
            <maml:para>Required for binding a specific Dial Key. Values of 0-9, 'Pound' or 'Star'. Dtmf Tone (digit) to be pressed for this option. Set to Automatic if not provided.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="Operator">
          <maml:name>TransferToOperator</maml:name>
          <maml:description>
            <maml:para>Switch. Required for Option TransferToOperator. No other input necessary, but Operator must be defined in the Auto Attendant. The AutoAttendant which will receive a Menu with this option, must have an Operator defined. Creating or Updating an Auto Attendant with an Operator that is not defined will lead to errors.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi">
          <maml:name>WhatIf</maml:name>
          <maml:description>
            <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf">
          <maml:name>Confirm</maml:name>
          <maml:description>
            <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>DisconnectCall</maml:name>
        <maml:description>
          <maml:para>Required to create a basic 'Disconnect' option. Switch. Default.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="DtmfResponseTone">
        <maml:name>Press</maml:name>
        <maml:description>
          <maml:para>Required for binding a specific Dial Key. Values of 0-9, 'Pound' or 'Star'. Dtmf Tone (digit) to be pressed for this option. Set to Automatic if not provided.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="VoiceResponses, Say">
        <maml:name>OrSay</maml:name>
        <maml:description>
          <maml:para>String. Optional for Option any call Target except Operator. Voice Response to be used for this option. Expected: Single word</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="Operator">
        <maml:name>TransferToOperator</maml:name>
        <maml:description>
          <maml:para>Switch. Required for Option TransferToOperator. No other input necessary, but Operator must be defined in the Auto Attendant. The AutoAttendant which will receive a Menu with this option, must have an Operator defined. Creating or Updating an Auto Attendant with an Operator that is not defined will lead to errors.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>CallTarget</maml:name>
        <maml:description>
          <maml:para>Required for Option TransferToCallTarget. String identifying the Call Target: UserPrincipalName (User, ResourceAccount), Group Name (Shared Voicemail), Tel Uri (ExternalPstn)</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>Announcement</maml:name>
        <maml:description>
          <maml:para>Required for Option Announcement. String for the Audio File OR Text-to-Voice</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi">
        <maml:name>WhatIf</maml:name>
        <maml:description>
          <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf">
        <maml:name>Confirm</maml:name>
        <maml:description>
          <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.String</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>This script determines the Type of CallTarget based on the provided String. As such it cannot distinguish between Redirect to 'User and Redirect' to 'Voicemail (personal)'. This is currently not an option on Auto Attendants, but may become one in the future. Redirect to Voicemail (personal) is available on Call Queues. Voice Input is only parsed if available and activated in the Auto Attendant</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>New-TeamsAutoAttendantMenuOption -Disconnect</dev:code>
        <dev:remarks>
          <maml:para>Creates a default Menu Option to be used for disconnecting the call.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title>
        <dev:code>New-TeamsAutoAttendantMenuOption -Press 0 -TransferToOperator</dev:code>
        <dev:remarks>
          <maml:para>Creates a Menu Option on pressing 0 (voice response is 'Operator' by default) to Transfer to the Operator. Note: The Operator must be specified in the AutoAttendant!</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 3 --------------------------</maml:title>
        <dev:code>New-TeamsAutoAttendantMenuOption -Press 1 -CallTarget "My Group"</dev:code>
        <dev:remarks>
          <maml:para>Creates a Menu Option on pressing 1 or saying 'one' (default) to Transfer to the Call Target (Shared Voicemail) Voice Input is only parsed if available and activated in the Auto Attendant</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 4 --------------------------</maml:title>
        <dev:code>New-TeamsAutoAttendantMenuOption -Press 2 -CallTarget Sales@domain.com -OrSay "Sales"</dev:code>
        <dev:remarks>
          <maml:para>Creates a Menu Option on pressing 2 or saying 'Sales' to Transfer to the Call Target (User). Voice Input is only parsed if available and activated in the Auto Attendant</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 5 --------------------------</maml:title>
        <dev:code>New-TeamsAutoAttendantMenuOption -Press 3 -CallTarget MyCQ@domain.com</dev:code>
        <dev:remarks>
          <maml:para>Creates a Menu Option on pressing 3 to Transfer to the Call Target (Call Queue).</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 6 --------------------------</maml:title>
        <dev:code>New-TeamsAutoAttendantMenuOption -Press 4 -CallTarget MyAA@domain.com</dev:code>
        <dev:remarks>
          <maml:para>Creates a Menu Option on pressing 4 to Transfer to the Call Target (Auto Attendant).</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 7 --------------------------</maml:title>
        <dev:code>New-TeamsAutoAttendantMenuOption -Press 5 -CallTarget "tel:+15551234567" -OrSay "Engineer"</dev:code>
        <dev:remarks>
          <maml:para>Creates a Menu Option on pressing 5 or saying 'Engineer' to Transfer to the Call Target (ExternalPstn). Voice Input is only parsed if available and activated in the Auto Attendant</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 8 --------------------------</maml:title>
        <dev:code>New-TeamsAutoAttendantMenuOption -Press 6 -Announcement "We are open Monday to Friday from 9 AM to 5 PM" -OrSay "Hours"</dev:code>
        <dev:remarks>
          <maml:para>Creates a Menu Option on pressing 6 or saying 'Hours' to play an Announcement (Text-to-Voice) and return to the main menu.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 9 --------------------------</maml:title>
        <dev:code>New-TeamsAutoAttendantMenuOption -Press 7 -Announcement "C:\Temp\AudioFile-OpeningHours.wav" -OrSay "Hours"</dev:code>
        <dev:remarks>
          <maml:para>Creates a Menu Option on pressing 7 or saying 'Hours' to play an Announcement (Audio File) and return to the main menu. The File must exist in the specified</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 10 --------------------------</maml:title>
        <dev:code>New-TeamsAutoAttendantMenuOption -Press Pound -CallTarget "My Group"</dev:code>
        <dev:remarks>
          <maml:para>Creates a Menu Option on pressing Pound (or Hash) or saying 'Pound' (default) to Transfer to the Call Target (Shared Voicemail) Voice Input is only parsed if available and activated in the Auto Attendant</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 11 --------------------------</maml:title>
        <dev:code>New-TeamsAutoAttendantMenuOption -Press Star -CallTarget MyCQ@domain.com</dev:code>
        <dev:remarks>
          <maml:para>Creates a Menu Option on pressing Star or saying 'Star' (default) to Transfer to the Call Target (Call Queue). Voice Input is only parsed if available and activated in the Auto Attendant</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/New-TeamsAutoAttendantMenuOption.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/New-TeamsAutoAttendantMenuOption.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_TeamsAutoAttendant.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_TeamsAutoAttendant.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>New-TeamsAutoAttendantPrompt</command:name>
      <command:verb>New</command:verb>
      <command:noun>TeamsAutoAttendantPrompt</command:noun>
      <maml:description>
        <maml:para>Creates a prompt</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Wrapper for New-CsAutoAttendantPrompt for easier use</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>New-TeamsAutoAttendantPrompt</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>String</maml:name>
          <maml:description>
            <maml:para>Required. String as a Path for a Recording or a Greeting (Text-to-Voice)</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
          <maml:name>AlternativeString</maml:name>
          <maml:description>
            <maml:para>Optional. Alternative (secondary) String as a Path for a Recording or a Greeting (Text-to-Voice) Must be the opposite type of the main String</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi">
          <maml:name>WhatIf</maml:name>
          <maml:description>
            <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf">
          <maml:name>Confirm</maml:name>
          <maml:description>
            <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>String</maml:name>
        <maml:description>
          <maml:para>Required. String as a Path for a Recording or a Greeting (Text-to-Voice)</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
        <maml:name>AlternativeString</maml:name>
        <maml:description>
          <maml:para>Optional. Alternative (secondary) String as a Path for a Recording or a Greeting (Text-to-Voice) Must be the opposite type of the main String</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi">
        <maml:name>WhatIf</maml:name>
        <maml:description>
          <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf">
        <maml:name>Confirm</maml:name>
        <maml:description>
          <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.String</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>Warning: The Automatic detection of the String depends on the last 4 characters of the String. This will break if the String ends in a supported File extension (WAV, WMA or MP3), for example. This Cmdlet does not allow use of the ActiveType Parameter as the the type is inferred by the string provided. Further development may see an addition of a secondary String (which would then make the provided -String the active type)</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>New-TeamsAutoAttendantPrompt -String "Welcome to Contoso"</dev:code>
        <dev:remarks>
          <maml:para>Creates a Text-to-Voice Prompt for the String Warning: This will break if the String ends in a supported File extension</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title>
        <dev:code>New-TeamsAutoAttendantPrompt -String "myAudioFile.mp3"</dev:code>
        <dev:remarks>
          <maml:para>Verifies the file exists, then imports it (with Import-TeamsAudioFile) Creates a Audio File Prompt after import.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 3 --------------------------</maml:title>
        <dev:code>New-TeamsAutoAttendantPrompt -String "Welcome to Contoso" -AlternativeString "myAudioFile.mp3"</dev:code>
        <dev:remarks>
          <maml:para>Creates a Text-to-Voice Prompt for the String and the AudioFile, but will play the Text-to-Voice one Warning: This will break if the String ends in a supported File extension</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 4 --------------------------</maml:title>
        <dev:code>New-TeamsAutoAttendantPrompt -String "myAudioFile.mp3"</dev:code>
        <dev:remarks>
          <maml:para>Verifies the file exists, then imports it (with Import-TeamsAudioFile) Creates a Audio File Prompt after import and for Text-to-Voice, but will play the AudioFile</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/New-TeamsAutoAttendantPrompt.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/New-TeamsAutoAttendantPrompt.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_TeamsAutoAttendant.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_TeamsAutoAttendant.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>New-TeamsAutoAttendantSchedule</command:name>
      <command:verb>New</command:verb>
      <command:noun>TeamsAutoAttendantSchedule</command:noun>
      <maml:description>
        <maml:para>Creates a Schedule to be used in Auto Attendants</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Wrapper for New-CsOnlineSchedule to simplify creation of Schedules with repeating patterns Incorporates New-CsOnlineTimeRange with examples</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>New-TeamsAutoAttendantSchedule</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Name</maml:name>
          <maml:description>
            <maml:para>Provides a friendly Name to the Schedule (visible in the Auto Attendant Object)</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>WeeklyRecurrentSchedule</maml:name>
          <maml:description>
            <maml:para>Defines a schedule that is recurring weekly with Business Hours for every day of the week. This is suitable for an After Hours in an Auto Attendant. New-TeamsAutoAttendant will utilise a Default Schedule For simplicity, this command assumes the same hours of operation for each day that the business is open. For a more granular approach, aim for a "best match", then amend the schedule afterwards in the Admin Center If desired via PowerShell, please use BusinessHoursStart/BusinessHoursEnd or define manually with: New-CsOnlineTimeRange and New-CsOnlineSchedule respectively.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>BusinessDays</maml:name>
          <maml:description>
            <maml:para>Parameter for WeeklyReccurrentSchedule Days defined as Business days. Will be combined with BusinessHours to form a WeeklyReccurrentSchedule</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>BusinessHours</maml:name>
          <maml:description>
            <maml:para>Parameter for WeeklyReccurrentSchedule - Option 1: Choose from a predefined Time Frame Predefined business hours. Combined with BusinessDays, forms the WeeklyRecurrentSchedule Covering most of regular working hour patterns to choose from.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Complement</maml:name>
          <maml:description>
            <maml:para>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.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi">
          <maml:name>WhatIf</maml:name>
          <maml:description>
            <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf">
          <maml:name>Confirm</maml:name>
          <maml:description>
            <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <command:syntaxItem>
        <maml:name>New-TeamsAutoAttendantSchedule</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Name</maml:name>
          <maml:description>
            <maml:para>Provides a friendly Name to the Schedule (visible in the Auto Attendant Object)</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>WeeklyRecurrentSchedule</maml:name>
          <maml:description>
            <maml:para>Defines a schedule that is recurring weekly with Business Hours for every day of the week. This is suitable for an After Hours in an Auto Attendant. New-TeamsAutoAttendant will utilise a Default Schedule For simplicity, this command assumes the same hours of operation for each day that the business is open. For a more granular approach, aim for a "best match", then amend the schedule afterwards in the Admin Center If desired via PowerShell, please use BusinessHoursStart/BusinessHoursEnd or define manually with: New-CsOnlineTimeRange and New-CsOnlineSchedule respectively.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>BusinessDays</maml:name>
          <maml:description>
            <maml:para>Parameter for WeeklyReccurrentSchedule Days defined as Business days. Will be combined with BusinessHours to form a WeeklyReccurrentSchedule</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>TimeRanges</maml:name>
          <maml:description>
            <maml:para>Parameter for WeeklyReccurrentSchedule - Option 3: Provide a TimeRange Object One Object or Objects defined with New-CsOnlineTimeRange. Time Range will be applied to Business Days equally (or MonToFri) Allows for slightly more granular options then the provided BusinessHours examples.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Object[]</command:parameterValue>
          <dev:type>
            <maml:name>Object[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Complement</maml:name>
          <maml:description>
            <maml:para>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.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi">
          <maml:name>WhatIf</maml:name>
          <maml:description>
            <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf">
          <maml:name>Confirm</maml:name>
          <maml:description>
            <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <command:syntaxItem>
        <maml:name>New-TeamsAutoAttendantSchedule</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Name</maml:name>
          <maml:description>
            <maml:para>Provides a friendly Name to the Schedule (visible in the Auto Attendant Object)</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>WeeklyRecurrentSchedule</maml:name>
          <maml:description>
            <maml:para>Defines a schedule that is recurring weekly with Business Hours for every day of the week. This is suitable for an After Hours in an Auto Attendant. New-TeamsAutoAttendant will utilise a Default Schedule For simplicity, this command assumes the same hours of operation for each day that the business is open. For a more granular approach, aim for a "best match", then amend the schedule afterwards in the Admin Center If desired via PowerShell, please use BusinessHoursStart/BusinessHoursEnd or define manually with: New-CsOnlineTimeRange and New-CsOnlineSchedule respectively.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>BusinessDays</maml:name>
          <maml:description>
            <maml:para>Parameter for WeeklyReccurrentSchedule Days defined as Business days. Will be combined with BusinessHours to form a WeeklyReccurrentSchedule</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>BusinessHoursStart</maml:name>
          <maml:description>
            <maml:para>Parameter for WeeklyReccurrentSchedule - Option 2: Select a specific Start and End Time Predefined business hours. Combined with BusinessDays, forms the WeeklyRecurrentSchedule Manual start and end time to be provided in 15 minute increments only, leading 0 can be omitted: "9:00 AM" or "08:45"</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>BusinessHoursEnd</maml:name>
          <maml:description>
            <maml:para>Parameter for WeeklyReccurrentSchedule - Option 2: Select a specific Start and End Time Predefined business hours. Combined with BusinessDays, forms the WeeklyRecurrentSchedule Manual start and end time to be provided in 15 minute increments only, leading 0 can be omitted: "5:15 PM" or "17:30"</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Complement</maml:name>
          <maml:description>
            <maml:para>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.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi">
          <maml:name>WhatIf</maml:name>
          <maml:description>
            <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf">
          <maml:name>Confirm</maml:name>
          <maml:description>
            <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <command:syntaxItem>
        <maml:name>New-TeamsAutoAttendantSchedule</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Name</maml:name>
          <maml:description>
            <maml:para>Provides a friendly Name to the Schedule (visible in the Auto Attendant Object)</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Fixed</maml:name>
          <maml:description>
            <maml:para>Defines a fixed schedule, suitable for Holiday Sets</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>DateTimeRanges</maml:name>
          <maml:description>
            <maml:para>Parameter for Fixed Schedule - Option 3: Provide a DateTimeRange Object Object or Objects defined with New-CsOnlineTimeRange Allows for more granular options then the provided BusinessHours examples or to provide Dates for Fixed</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Object[]</command:parameterValue>
          <dev:type>
            <maml:name>Object[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi">
          <maml:name>WhatIf</maml:name>
          <maml:description>
            <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf">
          <maml:name>Confirm</maml:name>
          <maml:description>
            <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>Name</maml:name>
        <maml:description>
          <maml:para>Provides a friendly Name to the Schedule (visible in the Auto Attendant Object)</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>WeeklyRecurrentSchedule</maml:name>
        <maml:description>
          <maml:para>Defines a schedule that is recurring weekly with Business Hours for every day of the week. This is suitable for an After Hours in an Auto Attendant. New-TeamsAutoAttendant will utilise a Default Schedule For simplicity, this command assumes the same hours of operation for each day that the business is open. For a more granular approach, aim for a "best match", then amend the schedule afterwards in the Admin Center If desired via PowerShell, please use BusinessHoursStart/BusinessHoursEnd or define manually with: New-CsOnlineTimeRange and New-CsOnlineSchedule respectively.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>Fixed</maml:name>
        <maml:description>
          <maml:para>Defines a fixed schedule, suitable for Holiday Sets</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>BusinessDays</maml:name>
        <maml:description>
          <maml:para>Parameter for WeeklyReccurrentSchedule Days defined as Business days. Will be combined with BusinessHours to form a WeeklyReccurrentSchedule</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>BusinessHours</maml:name>
        <maml:description>
          <maml:para>Parameter for WeeklyReccurrentSchedule - Option 1: Choose from a predefined Time Frame Predefined business hours. Combined with BusinessDays, forms the WeeklyRecurrentSchedule Covering most of regular working hour patterns to choose from.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>BusinessHoursStart</maml:name>
        <maml:description>
          <maml:para>Parameter for WeeklyReccurrentSchedule - Option 2: Select a specific Start and End Time Predefined business hours. Combined with BusinessDays, forms the WeeklyRecurrentSchedule Manual start and end time to be provided in 15 minute increments only, leading 0 can be omitted: "9:00 AM" or "08:45"</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>BusinessHoursEnd</maml:name>
        <maml:description>
          <maml:para>Parameter for WeeklyReccurrentSchedule - Option 2: Select a specific Start and End Time Predefined business hours. Combined with BusinessDays, forms the WeeklyRecurrentSchedule Manual start and end time to be provided in 15 minute increments only, leading 0 can be omitted: "5:15 PM" or "17:30"</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>TimeRanges</maml:name>
        <maml:description>
          <maml:para>Parameter for WeeklyReccurrentSchedule - Option 3: Provide a TimeRange Object One Object or Objects defined with New-CsOnlineTimeRange. Time Range will be applied to Business Days equally (or MonToFri) Allows for slightly more granular options then the provided BusinessHours examples.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Object[]</command:parameterValue>
        <dev:type>
          <maml:name>Object[]</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>DateTimeRanges</maml:name>
        <maml:description>
          <maml:para>Parameter for Fixed Schedule - Option 3: Provide a DateTimeRange Object Object or Objects defined with New-CsOnlineTimeRange Allows for more granular options then the provided BusinessHours examples or to provide Dates for Fixed</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Object[]</command:parameterValue>
        <dev:type>
          <maml:name>Object[]</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>Complement</maml:name>
        <maml:description>
          <maml:para>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.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi">
        <maml:name>WhatIf</maml:name>
        <maml:description>
          <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf">
        <maml:name>Confirm</maml:name>
        <maml:description>
          <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.String, System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>Combinations of BusinesHours and BusinessDays are numerous but not exhaustive. For simplicity, this command assumes the same hours of operation for each day that the business is open. With the following Parameters, these three options are available: 1. BusinessHours - Choose time range from a predefined list (amend in Admin Center afterwards, if needed) 2. BusinessHoursStart and BusinessHoursEnd - Provide a Start and End Time for the Time Range (15 minute increments) 3. DateTimeRange - Provide a DateTimeRange Object manually defined with New-CsOnlineTimeRange and New-CsOnlineSchedule</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>New-TeamsAutoAttendantSchedule -WeeklyRecurrentSchedule -BusinessDays MonToFri -BusinesHours 9to5</dev:code>
        <dev:remarks>
          <maml:para>Creates a weekly recurring schedule for business hours Monday to Friday from 9am to 5pm</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title>
        <dev:code>New-TeamsAutoAttendantSchedule -WeeklyRecurrentSchedule -BusinessDays MonToSat -BusinessHoursStart 09:15 -BusinessHoursEnd 17:45</dev:code>
        <dev:remarks>
          <maml:para>Creates a weekly recurring schedule for business hours Monday to Saturday from 09:15 to 17:45</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 3 --------------------------</maml:title>
        <dev:code>New-TeamsAutoAttendantSchedule -WeeklyRecurrentSchedule -BusinessDays SunToThu -DateTimeRange @($TR1, $TR2)</dev:code>
        <dev:remarks>
          <maml:para>Creates a weekly recurring schedule for business hours Sunday to Thursday with custom TimeRange(s) provided with the Objects $TR1 and $TR2</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 4 --------------------------</maml:title>
        <dev:code>New-TeamsAutoAttendantSchedule -Fixed -DateTimeRange @($TR1, $TR2)</dev:code>
        <dev:remarks>
          <maml:para>Adds a fixed schedule for the TimeRange(s) provided with the Objects $TR1 and $TR2</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/New-TeamsAutoAttendantSchedule.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/New-TeamsAutoAttendantSchedule.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_TeamsAutoAttendant.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_TeamsAutoAttendant.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>New-TeamsCallableEntity</command:name>
      <command:verb>New</command:verb>
      <command:noun>TeamsCallableEntity</command:noun>
      <maml:description>
        <maml:para>Creates a Callable Entity for Auto Attendants</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Wrapper for New-CsAutoAttendantCallableEntity with verification Requires a licensed User or ResourceAccount an Office 365 Group or Tel URI</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>New-TeamsCallableEntity</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="1" aliases="none">
          <maml:name>Identity</maml:name>
          <maml:description>
            <maml:para>Required. Tel URI, Group Name or UserPrincipalName, depending on the Entity Type</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Type</maml:name>
          <maml:description>
            <maml:para>Optional. Type of Callable Entity to create. Expected User, ExternalPstn, SharedVoicemail, ResourceAccount If not provided, the Type is queried with Get-TeamsCallableEntity</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>EnableTranscription</maml:name>
          <maml:description>
            <maml:para>Optional. Enables Transcription. Available only for Groups (Type SharedVoicemail)</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>EnableSharedVoicemailSystemPromptSuppression</maml:name>
          <maml:description>
            <maml:para>Optional. Surpresses System Prompts for Shared Voicemail. Available only for Groups (Type SharedVoicemail)</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Suppresses confirmation prompt to enable Users for Enterprise Voice, if required and $Confirm is TRUE</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi">
          <maml:name>WhatIf</maml:name>
          <maml:description>
            <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf">
          <maml:name>Confirm</maml:name>
          <maml:description>
            <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="1" aliases="none">
        <maml:name>Identity</maml:name>
        <maml:description>
          <maml:para>Required. Tel URI, Group Name or UserPrincipalName, depending on the Entity Type</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>Type</maml:name>
        <maml:description>
          <maml:para>Optional. Type of Callable Entity to create. Expected User, ExternalPstn, SharedVoicemail, ResourceAccount If not provided, the Type is queried with Get-TeamsCallableEntity</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>EnableTranscription</maml:name>
        <maml:description>
          <maml:para>Optional. Enables Transcription. Available only for Groups (Type SharedVoicemail)</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>EnableSharedVoicemailSystemPromptSuppression</maml:name>
        <maml:description>
          <maml:para>Optional. Surpresses System Prompts for Shared Voicemail. Available only for Groups (Type SharedVoicemail)</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>Force</maml:name>
        <maml:description>
          <maml:para>Suppresses confirmation prompt to enable Users for Enterprise Voice, if required and $Confirm is TRUE</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi">
        <maml:name>WhatIf</maml:name>
        <maml:description>
          <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf">
        <maml:name>Confirm</maml:name>
        <maml:description>
          <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.String</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object - Default behaviour</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>For Users, it will verify the Objects eligibility. Requires a valid license but can enable the User Object for Enterprise Voice if needed. For Groups, it will verify that the Group exists in AzureAd (but not in Exchange) For ExternalPstn it will construct the Tel URI</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>New-TeamsCallableEntity -Type ExternalPstn -Identity "tel:+1555123456"</dev:code>
        <dev:remarks>
          <maml:para>Creates a callable Entity for the provided string, normalising it into a Tel URI</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title>
        <dev:code>New-TeamsCallableEntity -Type User -Identity John@domain.com</dev:code>
        <dev:remarks>
          <maml:para>Creates a callable Entity for the User John@domain.com</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/New-TeamsCallableEntity.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/New-TeamsCallableEntity.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_TeamsAutoAttendant.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_TeamsAutoAttendant.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_TeamsCallQueue.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_TeamsCallQueue.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_UserManagement.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_UserManagement.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>New-TeamsCallQueue</command:name>
      <command:verb>New</command:verb>
      <command:noun>TeamsCallQueue</command:noun>
      <maml:description>
        <maml:para>New-CsCallQueue with UPNs instead of IDs</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Does all the same things that New-CsCallQueue does, but differs in a few significant respects: UserPrincipalNames can be provided instead of IDs, FileNames (FullName) can be provided instead of IDs File Import is handled by this Script Small changes to defaults (see Parameter UseMicrosoftDefaults for details) Partial implementation is possible, output will show differences.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>New-TeamsCallQueue</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>Name</maml:name>
          <maml:description>
            <maml:para>Name of the Call Queue. Name will be normalised (unsuitable characters are filtered) Used as the DisplayName - Visible in Teams</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>UseMicrosoftDefaults</maml:name>
          <maml:description>
            <maml:para>This script uses different default values for some parameters than New-CsCallQueue Using this switch will instruct the Script to adhere to Microsoft defaults. ChangedPARAMETER: This Script Microsoft Reason: - OverflowThreshold: 10 50 Smaller Queue Size (Waiting Callers) more universally useful</maml:para>
            <maml:para>- TimeoutThreshold: 30s 1200s Shorter Threshold for timeout more universally useful</maml:para>
            <maml:para>- UseDefaultMusicOnHold: TRUE* NONE ONLY if neither UseDefaultMusicOnHold nor MusicOnHoldAudioFile are specificed</maml:para>
            <maml:para>This only affects parameters which are NOT specified when running the script.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>AgentAlertTime</maml:name>
          <maml:description>
            <maml:para>Optional. Time in Seconds to alert each agent. Works depending on Routing method Size AgentAlertTime and TimeoutThreshold depending on Routing method and # of Agents available.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Int16</command:parameterValue>
          <dev:type>
            <maml:name>Int16</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>AllowOptOut</maml:name>
          <maml:description>
            <maml:para>Optional Switch. Allows Agents to Opt out of receiving calls from the Call Queue</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Boolean</command:parameterValue>
          <dev:type>
            <maml:name>Boolean</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="OA">
          <maml:name>OverflowAction</maml:name>
          <maml:description>
            <maml:para>Optional. Action to be taken if the Queue size limit (OverflowThreshold) is reached Forward requires specification of OverflowActionTarget Default: DisconnectWithBusy, Values: DisconnectWithBusy, Forward, VoiceMail, SharedVoiceMail</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>DisconnectWithBusy</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="OAT">
          <maml:name>OverflowActionTarget</maml:name>
          <maml:description>
            <maml:para>Situational. Required only if OverflowAction is not DisconnectWithBusy UserPrincipalName of the Target</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="OfSVmTTS">
          <maml:name>OverflowSharedVoicemailTextToSpeechPrompt</maml:name>
          <maml:description>
            <maml:para>Situational. Text to be read for a Shared Voicemail greeting. Requires LanguageId Required if OverflowAction is SharedVoicemail and OverflowSharedVoicemailAudioFile is $null</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="OfVMFile">
          <maml:name>OverflowSharedVoicemailAudioFile</maml:name>
          <maml:description>
            <maml:para>Situational. Path to the Audio File for a Shared Voicemail greeting Required if OverflowAction is SharedVoicemail and OverflowSharedVoicemailTextToSpeechPrompt is $null</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="TranscribeOfVm">
          <maml:name>EnableOverflowSharedVoicemailTranscription</maml:name>
          <maml:description>
            <maml:para>Situational. Boolean Switch. Requires specification of LanguageId Enables a transcription of the Voicemail message to be sent to the Group mailbox</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Boolean</command:parameterValue>
          <dev:type>
            <maml:name>Boolean</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="OfThreshold, OfQueueLength">
          <maml:name>OverflowThreshold</maml:name>
          <maml:description>
            <maml:para>Optional. Time in Seconds for the OverflowAction to trigger Default: 30s, Microsoft Default: 50s (See Parameter UseMicrosoftDefaults)</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Int16</command:parameterValue>
          <dev:type>
            <maml:name>Int16</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="TA">
          <maml:name>TimeoutAction</maml:name>
          <maml:description>
            <maml:para>Optional. Action to be taken if the TimeoutThreshold is reached Forward requires specification of TimeoutActionTarget Default: Disconnect, Values: Disconnect, Forward, VoiceMail, SharedVoiceMail</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>Disconnect</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="TAT">
          <maml:name>TimeoutActionTarget</maml:name>
          <maml:description>
            <maml:para>Situational. Required only if TimeoutAction is not Disconnect UserPrincipalName of the Target</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="ToSVmTTS">
          <maml:name>TimeoutSharedVoicemailTextToSpeechPrompt</maml:name>
          <maml:description>
            <maml:para>Situational. Text to be read for a Shared Voicemail greeting. Requires LanguageId Required if TimeoutAction is SharedVoicemail and TimeoutSharedVoicemailAudioFile is $null</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="ToVMFile">
          <maml:name>TimeoutSharedVoicemailAudioFile</maml:name>
          <maml:description>
            <maml:para>Situational. Path to the Audio File for a Shared Voicemail greeting Required if TimeoutAction is SharedVoicemail and TimeoutSharedVoicemailTextToSpeechPrompt is $null</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="TranscribeToVm">
          <maml:name>EnableTimeoutSharedVoicemailTranscription</maml:name>
          <maml:description>
            <maml:para>Situational. Boolean Switch. Requires specification of LanguageId Enables a transcription of the Voicemail message to be sent to the Group mailbox</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Boolean</command:parameterValue>
          <dev:type>
            <maml:name>Boolean</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="ToThreshold">
          <maml:name>TimeoutThreshold</maml:name>
          <maml:description>
            <maml:para>Optional. Time in Seconds for the TimeoutAction to trigger Default: 30s, Microsoft Default: 1200s (See Parameter UseMicrosoftDefaults)</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Int16</command:parameterValue>
          <dev:type>
            <maml:name>Int16</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>RoutingMethod</maml:name>
          <maml:description>
            <maml:para>Optional. Describes how the Call Queue is hunting for an Agent. Serial will Alert them one by one in order specified (Distribution lists will contact alphabethically) Attendant behaves like Parallel if PresenceBasedRouting is used. Default: Attendant, Values: Attendant, Serial, RoundRobin, LongestIdle</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>Attendant</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>PresenceBasedRouting</maml:name>
          <maml:description>
            <maml:para>Optional. Default: TRUE. If used alerts Agents only when they are available (Teams status). This behaviour changed to TRUE in MicrosoftTeams v4.7.0</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Boolean</command:parameterValue>
          <dev:type>
            <maml:name>Boolean</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>UseDefaultMusicOnHold</maml:name>
          <maml:description>
            <maml:para>Optional Switch. Indicates whether the default Music On Hold should be used.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Boolean</command:parameterValue>
          <dev:type>
            <maml:name>Boolean</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>ConferenceMode</maml:name>
          <maml:description>
            <maml:para>Optional. Will establish a conference instead of a direct call and should help with connection time. Default: TRUE, Microsoft Default: FALSE This behaviour changed to TRUE in MicrosoftTeams v4.7.0</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Boolean</command:parameterValue>
          <dev:type>
            <maml:name>Boolean</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="WelcomeMessage, WelcomeMusicTextToSpeechPrompt, WelcomeMusicAudioFile">
          <maml:name>Greeting</maml:name>
          <maml:description>
            <maml:para>Optional. Text-To-Voice String or Path to Audio File to be used as a Welcome message Accepted Text-To-Voice Strings: Minimum 10, Maximum 1000 characters. Accepted Audio File Formats: MP3, WAV or WMA format, max 5MB</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>MusicOnHoldAudioFile</maml:name>
          <maml:description>
            <maml:para>Optional. Path to Audio File to be used as Music On Hold. Accepted Formats: MP3, WAV or WMA format, max 5MB If not provided, UseDefaultMusicOnHold is set to TRUE</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>DistributionLists</maml:name>
          <maml:description>
            <maml:para>Optional. Display Names of DistributionLists or Groups. Their members are to become Agents in the Queue. Mutually exclusive with TeamAndChannel. Can be combined with Users. Will be parsed after Users if they are specified as well. To be considered for calls, members of the DistributionsLists must be Enabled for Enterprise Voice.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
          <dev:type>
            <maml:name>String[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Users</maml:name>
          <maml:description>
            <maml:para>Optional. UserPrincipalNames of Users that are to become Agents in the Queue. Mutually exclusive with TeamAndChannel. Can be combined with DistributionLists. Will be parsed first. Order is only important if Serial Routing is desired (See Parameter RoutingMethod) Users are only added if they have a PhoneSystem license and are or can be enabled for Enterprise Voice.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
          <dev:type>
            <maml:name>String[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>ResourceAccountsForCallerId</maml:name>
          <maml:description>
            <maml:para>Optional. Resource Account to be used for allowing Agents to use its number as a Caller Id.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
          <dev:type>
            <maml:name>String[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>ChannelOwner</maml:name>
          <maml:description>
            <maml:para>Optional. UserPrincipalName of a owner for the Channel. Unknown use-case right now. Feeds Parameter ChannelOwnerObjectId Users are only added if they have a PhoneSystem license and are or can be enabled for Enterprise Voice.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>TeamAndChannel</maml:name>
          <maml:description>
            <maml:para>Optional. Uses a Channel to route calls to. Members of the Channel become Agents in the Queue. Mutually exclusive with Users and DistributionLists. Acceptable format for Team and Channel is "TeamIdentifier\ChannelIdentifier". Acceptable Identifier for Teams are GroupId (GUID) or DisplayName. NOTE: DisplayName may not be unique. Acceptable Identifier for Channels are Id (GUID) or DisplayName.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>LanguageId</maml:name>
          <maml:description>
            <maml:para>Optional Language Identifier indicating 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.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>AuthorizedUsers</maml:name>
          <maml:description>
            <maml:para>Optional. Users allowed to change certain aspects of the Call Queue (like Greetings) These settings are governed by the assigned CsTeamsVoiceApplicationsPolicy (assigned to the User)</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
          <dev:type>
            <maml:name>String[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Suppresses confirmation prompt to enable Users for Enterprise Voice, if Users are specified Currently no other impact</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi">
          <maml:name>WhatIf</maml:name>
          <maml:description>
            <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf">
          <maml:name>Confirm</maml:name>
          <maml:description>
            <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>Name</maml:name>
        <maml:description>
          <maml:para>Name of the Call Queue. Name will be normalised (unsuitable characters are filtered) Used as the DisplayName - Visible in Teams</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>UseMicrosoftDefaults</maml:name>
        <maml:description>
          <maml:para>This script uses different default values for some parameters than New-CsCallQueue Using this switch will instruct the Script to adhere to Microsoft defaults. ChangedPARAMETER: This Script Microsoft Reason: - OverflowThreshold: 10 50 Smaller Queue Size (Waiting Callers) more universally useful</maml:para>
          <maml:para>- TimeoutThreshold: 30s 1200s Shorter Threshold for timeout more universally useful</maml:para>
          <maml:para>- UseDefaultMusicOnHold: TRUE* NONE ONLY if neither UseDefaultMusicOnHold nor MusicOnHoldAudioFile are specificed</maml:para>
          <maml:para>This only affects parameters which are NOT specified when running the script.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>AgentAlertTime</maml:name>
        <maml:description>
          <maml:para>Optional. Time in Seconds to alert each agent. Works depending on Routing method Size AgentAlertTime and TimeoutThreshold depending on Routing method and # of Agents available.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Int16</command:parameterValue>
        <dev:type>
          <maml:name>Int16</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>0</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>AllowOptOut</maml:name>
        <maml:description>
          <maml:para>Optional Switch. Allows Agents to Opt out of receiving calls from the Call Queue</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Boolean</command:parameterValue>
        <dev:type>
          <maml:name>Boolean</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="OA">
        <maml:name>OverflowAction</maml:name>
        <maml:description>
          <maml:para>Optional. Action to be taken if the Queue size limit (OverflowThreshold) is reached Forward requires specification of OverflowActionTarget Default: DisconnectWithBusy, Values: DisconnectWithBusy, Forward, VoiceMail, SharedVoiceMail</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>DisconnectWithBusy</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="OAT">
        <maml:name>OverflowActionTarget</maml:name>
        <maml:description>
          <maml:para>Situational. Required only if OverflowAction is not DisconnectWithBusy UserPrincipalName of the Target</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="OfSVmTTS">
        <maml:name>OverflowSharedVoicemailTextToSpeechPrompt</maml:name>
        <maml:description>
          <maml:para>Situational. Text to be read for a Shared Voicemail greeting. Requires LanguageId Required if OverflowAction is SharedVoicemail and OverflowSharedVoicemailAudioFile is $null</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="OfVMFile">
        <maml:name>OverflowSharedVoicemailAudioFile</maml:name>
        <maml:description>
          <maml:para>Situational. Path to the Audio File for a Shared Voicemail greeting Required if OverflowAction is SharedVoicemail and OverflowSharedVoicemailTextToSpeechPrompt is $null</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="TranscribeOfVm">
        <maml:name>EnableOverflowSharedVoicemailTranscription</maml:name>
        <maml:description>
          <maml:para>Situational. Boolean Switch. Requires specification of LanguageId Enables a transcription of the Voicemail message to be sent to the Group mailbox</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Boolean</command:parameterValue>
        <dev:type>
          <maml:name>Boolean</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="OfThreshold, OfQueueLength">
        <maml:name>OverflowThreshold</maml:name>
        <maml:description>
          <maml:para>Optional. Time in Seconds for the OverflowAction to trigger Default: 30s, Microsoft Default: 50s (See Parameter UseMicrosoftDefaults)</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Int16</command:parameterValue>
        <dev:type>
          <maml:name>Int16</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>0</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="TA">
        <maml:name>TimeoutAction</maml:name>
        <maml:description>
          <maml:para>Optional. Action to be taken if the TimeoutThreshold is reached Forward requires specification of TimeoutActionTarget Default: Disconnect, Values: Disconnect, Forward, VoiceMail, SharedVoiceMail</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>Disconnect</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="TAT">
        <maml:name>TimeoutActionTarget</maml:name>
        <maml:description>
          <maml:para>Situational. Required only if TimeoutAction is not Disconnect UserPrincipalName of the Target</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="ToSVmTTS">
        <maml:name>TimeoutSharedVoicemailTextToSpeechPrompt</maml:name>
        <maml:description>
          <maml:para>Situational. Text to be read for a Shared Voicemail greeting. Requires LanguageId Required if TimeoutAction is SharedVoicemail and TimeoutSharedVoicemailAudioFile is $null</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="ToVMFile">
        <maml:name>TimeoutSharedVoicemailAudioFile</maml:name>
        <maml:description>
          <maml:para>Situational. Path to the Audio File for a Shared Voicemail greeting Required if TimeoutAction is SharedVoicemail and TimeoutSharedVoicemailTextToSpeechPrompt is $null</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="TranscribeToVm">
        <maml:name>EnableTimeoutSharedVoicemailTranscription</maml:name>
        <maml:description>
          <maml:para>Situational. Boolean Switch. Requires specification of LanguageId Enables a transcription of the Voicemail message to be sent to the Group mailbox</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Boolean</command:parameterValue>
        <dev:type>
          <maml:name>Boolean</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="ToThreshold">
        <maml:name>TimeoutThreshold</maml:name>
        <maml:description>
          <maml:para>Optional. Time in Seconds for the TimeoutAction to trigger Default: 30s, Microsoft Default: 1200s (See Parameter UseMicrosoftDefaults)</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Int16</command:parameterValue>
        <dev:type>
          <maml:name>Int16</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>0</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>RoutingMethod</maml:name>
        <maml:description>
          <maml:para>Optional. Describes how the Call Queue is hunting for an Agent. Serial will Alert them one by one in order specified (Distribution lists will contact alphabethically) Attendant behaves like Parallel if PresenceBasedRouting is used. Default: Attendant, Values: Attendant, Serial, RoundRobin, LongestIdle</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>Attendant</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>PresenceBasedRouting</maml:name>
        <maml:description>
          <maml:para>Optional. Default: TRUE. If used alerts Agents only when they are available (Teams status). This behaviour changed to TRUE in MicrosoftTeams v4.7.0</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Boolean</command:parameterValue>
        <dev:type>
          <maml:name>Boolean</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>UseDefaultMusicOnHold</maml:name>
        <maml:description>
          <maml:para>Optional Switch. Indicates whether the default Music On Hold should be used.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Boolean</command:parameterValue>
        <dev:type>
          <maml:name>Boolean</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>ConferenceMode</maml:name>
        <maml:description>
          <maml:para>Optional. Will establish a conference instead of a direct call and should help with connection time. Default: TRUE, Microsoft Default: FALSE This behaviour changed to TRUE in MicrosoftTeams v4.7.0</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Boolean</command:parameterValue>
        <dev:type>
          <maml:name>Boolean</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="WelcomeMessage, WelcomeMusicTextToSpeechPrompt, WelcomeMusicAudioFile">
        <maml:name>Greeting</maml:name>
        <maml:description>
          <maml:para>Optional. Text-To-Voice String or Path to Audio File to be used as a Welcome message Accepted Text-To-Voice Strings: Minimum 10, Maximum 1000 characters. Accepted Audio File Formats: MP3, WAV or WMA format, max 5MB</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>MusicOnHoldAudioFile</maml:name>
        <maml:description>
          <maml:para>Optional. Path to Audio File to be used as Music On Hold. Accepted Formats: MP3, WAV or WMA format, max 5MB If not provided, UseDefaultMusicOnHold is set to TRUE</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>DistributionLists</maml:name>
        <maml:description>
          <maml:para>Optional. Display Names of DistributionLists or Groups. Their members are to become Agents in the Queue. Mutually exclusive with TeamAndChannel. Can be combined with Users. Will be parsed after Users if they are specified as well. To be considered for calls, members of the DistributionsLists must be Enabled for Enterprise Voice.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
        <dev:type>
          <maml:name>String[]</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>Users</maml:name>
        <maml:description>
          <maml:para>Optional. UserPrincipalNames of Users that are to become Agents in the Queue. Mutually exclusive with TeamAndChannel. Can be combined with DistributionLists. Will be parsed first. Order is only important if Serial Routing is desired (See Parameter RoutingMethod) Users are only added if they have a PhoneSystem license and are or can be enabled for Enterprise Voice.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
        <dev:type>
          <maml:name>String[]</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>ResourceAccountsForCallerId</maml:name>
        <maml:description>
          <maml:para>Optional. Resource Account to be used for allowing Agents to use its number as a Caller Id.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
        <dev:type>
          <maml:name>String[]</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>ChannelOwner</maml:name>
        <maml:description>
          <maml:para>Optional. UserPrincipalName of a owner for the Channel. Unknown use-case right now. Feeds Parameter ChannelOwnerObjectId Users are only added if they have a PhoneSystem license and are or can be enabled for Enterprise Voice.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>TeamAndChannel</maml:name>
        <maml:description>
          <maml:para>Optional. Uses a Channel to route calls to. Members of the Channel become Agents in the Queue. Mutually exclusive with Users and DistributionLists. Acceptable format for Team and Channel is "TeamIdentifier\ChannelIdentifier". Acceptable Identifier for Teams are GroupId (GUID) or DisplayName. NOTE: DisplayName may not be unique. Acceptable Identifier for Channels are Id (GUID) or DisplayName.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>LanguageId</maml:name>
        <maml:description>
          <maml:para>Optional Language Identifier indicating 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.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>AuthorizedUsers</maml:name>
        <maml:description>
          <maml:para>Optional. Users allowed to change certain aspects of the Call Queue (like Greetings) These settings are governed by the assigned CsTeamsVoiceApplicationsPolicy (assigned to the User)</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
        <dev:type>
          <maml:name>String[]</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>Force</maml:name>
        <maml:description>
          <maml:para>Suppresses confirmation prompt to enable Users for Enterprise Voice, if Users are specified Currently no other impact</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi">
        <maml:name>WhatIf</maml:name>
        <maml:description>
          <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf">
        <maml:name>Confirm</maml:name>
        <maml:description>
          <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.String</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>Audio Files, if not found will result in this option not being configured. Warnings are displayed, but default options or none are taken. Greeting - No Greeting is played (default) MusicOnHoldAudioFile - No custom MusicOnHold is played (UseDefaultMusicOnHold is used) OverflowSharedVoicemailAudioFile - SharedVoicemail will not be configured TimeoutSharedVoicemailAudioFile - SharedVoicemail will not be configured</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>New-TeamsCallQueue -Name "My Queue"</dev:code>
        <dev:remarks>
          <maml:para>Creates a new Call Queue "My Queue" with the Default Music On Hold All other values not specified default to optimised defaults (See Parameter UseMicrosoftDefaults)</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title>
        <dev:code>New-TeamsCallQueue -Name "My Queue" -UseMicrosoftDefaults</dev:code>
        <dev:remarks>
          <maml:para>Creates a new Call Queue "My Queue" with the Default Music On Hold All values not specified default to Microsoft defaults for New-CsCallQueue (See Parameter UseMicrosoftDefaults)</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 3 --------------------------</maml:title>
        <dev:code>New-TeamsCallQueue -Name "My Queue" -OverflowThreshold 5 -TimeoutThreshold 90</dev:code>
        <dev:remarks>
          <maml:para>Creates a new Call Queue "My Queue" and sets it to overflow with more than 5 Callers waiting and a timeout window of 90s All values not specified default to optimised defaults (See Parameter UseMicrosoftDefaults)</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 4 --------------------------</maml:title>
        <dev:code>New-TeamsCallQueue -Name "My Queue" -MusicOnHoldAudioFile C:\Temp\Moh.wav -Greeting C:\Temp\WelcomeMessage.wmv</dev:code>
        <dev:remarks>
          <maml:para>Creates a new Call Queue "My Queue" with custom Audio Files All values not specified default to optimised defaults (See Parameter UseMicrosoftDefaults)</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 5 --------------------------</maml:title>
        <dev:code>New-TeamsCallQueue -Name "My Queue" -AgentAlertTime 15 -RoutingMethod Serial -AllowOptOut:$false -DistributionLists @(List1@domain.com,List2@domain.com)</dev:code>
        <dev:remarks>
          <maml:para>Creates a new Call Queue "My Queue" alerting every Agent nested in Azure AD Groups List1@domain.com and List2@domain.com in sequence for 15s. All values not specified default to optimised defaults (See Parameter UseMicrosoftDefaults</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 6 --------------------------</maml:title>
        <dev:code>New-TeamsCallQueue -Name "My Queue" -OverflowAction Forward -OverflowActionTarget SIP@domain.com -TimeoutAction Voicemail</dev:code>
        <dev:remarks>
          <maml:para>Creates a new Call Queue "My Queue" forwarding to SIP@domain.com for Overflow and to Voicemail when it times out. All values not specified default to optimised defaults (See Parameter UseMicrosoftDefaults)</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/New-TeamsCallQueue.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/New-TeamsCallQueue.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_TeamsCallQueue.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_TeamsCallQueue.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>New-TeamsCommonAreaPhone</command:name>
      <command:verb>New</command:verb>
      <command:noun>TeamsCommonAreaPhone</command:noun>
      <maml:description>
        <maml:para>Creates a new Common Area Phone</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>This CmdLet creates an AzureAdUser Object, applies a UsageLocation If a License is applied, a PhoneNumber, IP Phone Policy, Calling Policy and Call Park Policy can be applied.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>New-TeamsCommonAreaPhone</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases="none">
          <maml:name>UserPrincipalName</maml:name>
          <maml:description>
            <maml:para>Required. The UPN for the new CommonAreaPhone. Invalid characters are stripped from the provided string</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none">
          <maml:name>DisplayName</maml:name>
          <maml:description>
            <maml:para>Optional. The Name it will show up as in Teams. Invalid characters are stripped from the provided string</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>UsageLocation</maml:name>
          <maml:description>
            <maml:para>Required. Two Digit Country Code of the Location of the entity. Before a License can be assigned, the account needs a Usage Location populated.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>License</maml:name>
          <maml:description>
            <maml:para>Optional. Specifies the License to be assigned: PhoneSystem or PhoneSystem_VirtualUser If not provided, will default to PhoneSystem_VirtualUser Unlicensed Objects can exist, but cannot be assigned a phone number PhoneSystem is an add-on license and cannot be assigned on its own. it has therefore been deactivated for now.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
          <dev:type>
            <maml:name>String[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Password</maml:name>
          <maml:description>
            <maml:para>Optional. PowerShell SecureString If not provided a Password will be generated with the string "CAP-" and todays date in the format: "CAP-03-JAN-2021"</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">SecureString</command:parameterValue>
          <dev:type>
            <maml:name>SecureString</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>IPPhonePolicy</maml:name>
          <maml:description>
            <maml:para>Optional. Adds an IP Phone Policy to the User</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>TeamsCallingPolicy</maml:name>
          <maml:description>
            <maml:para>Optional. Adds a Calling Policy to the User</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>TeamsCallParkPolicy</maml:name>
          <maml:description>
            <maml:para>Optional. Adds a Call Park Policy to the User</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi">
          <maml:name>WhatIf</maml:name>
          <maml:description>
            <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf">
          <maml:name>Confirm</maml:name>
          <maml:description>
            <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases="none">
        <maml:name>UserPrincipalName</maml:name>
        <maml:description>
          <maml:para>Required. The UPN for the new CommonAreaPhone. Invalid characters are stripped from the provided string</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none">
        <maml:name>DisplayName</maml:name>
        <maml:description>
          <maml:para>Optional. The Name it will show up as in Teams. Invalid characters are stripped from the provided string</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>UsageLocation</maml:name>
        <maml:description>
          <maml:para>Required. Two Digit Country Code of the Location of the entity. Before a License can be assigned, the account needs a Usage Location populated.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>License</maml:name>
        <maml:description>
          <maml:para>Optional. Specifies the License to be assigned: PhoneSystem or PhoneSystem_VirtualUser If not provided, will default to PhoneSystem_VirtualUser Unlicensed Objects can exist, but cannot be assigned a phone number PhoneSystem is an add-on license and cannot be assigned on its own. it has therefore been deactivated for now.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
        <dev:type>
          <maml:name>String[]</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>Password</maml:name>
        <maml:description>
          <maml:para>Optional. PowerShell SecureString If not provided a Password will be generated with the string "CAP-" and todays date in the format: "CAP-03-JAN-2021"</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">SecureString</command:parameterValue>
        <dev:type>
          <maml:name>SecureString</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>IPPhonePolicy</maml:name>
        <maml:description>
          <maml:para>Optional. Adds an IP Phone Policy to the User</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>TeamsCallingPolicy</maml:name>
        <maml:description>
          <maml:para>Optional. Adds a Calling Policy to the User</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>TeamsCallParkPolicy</maml:name>
        <maml:description>
          <maml:para>Optional. Adds a Call Park Policy to the User</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi">
        <maml:name>WhatIf</maml:name>
        <maml:description>
          <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf">
        <maml:name>Confirm</maml:name>
        <maml:description>
          <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.String</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>Execution requires User Admin Role in Azure AD This CmdLet deliberately does not apply a Phone Number to the Object. To do so, please run New-TeamsUserVoiceConfig or Set-TeamsUserVoiceConfig. For a full Voice Configuration apply a Calling Plan or Online Voice Routing Policy a Phone Number and optionally a Tenant Dial Plan. This Script only covers relevant elements for Common Area Phones themselves. To enable a Common Area Phone with a meeting room experience, please follow this guide: https://www.graham-walsh.com/creating-a-common-area-phones-for-microsoft-teams/</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>New-TeamsCommonAreaPhone -UserPrincipalName "My Lobby Phone@TenantName.onmicrosoft.com" -UsageLocation US</dev:code>
        <dev:remarks>
          <maml:para>Will create a CommonAreaPhone with a Usage Location for 'US' and assign the CommonAreaPhone License User Principal Name will be normalised to: MyLobbyPhone@TenantName.onmicrosoft.com DisplayName will be taken from the User PrincipalName and normalised to "MyLobbyPhone" No Policies will be assigned to the Common Area Phone, the Global Policy will be in effect for this Phone</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title>
        <dev:code>New-TeamsCommonAreaPhone -UserPrincipalName "Lobby.@TenantName.onmicrosoft.com" -Displayname "Lobby {Phone}" -UsageLocation US -License CommonAreaPhone</dev:code>
        <dev:remarks>
          <maml:para>Will create a CommonAreaPhone with a Usage Location for 'US' and assign the CommonAreaPhone License User Principal Name will be normalised to: Lobby@TenantName.onmicrosoft.com DisplayName will be normalised to "Lobby Phone" No Policies will be assigned to the Common Area Phone, the Global Policy will be in effect for this Phone</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 3 --------------------------</maml:title>
        <dev:code>New-TeamsCommonAreaPhone -UserPrincipalName "Lobby@TenantName.onmicrosoft.com" -Displayname "Lobby Phone" -UsageLocation US -License Office365E3,PhoneSystem</dev:code>
        <dev:remarks>
          <maml:para>Will create a CommonAreaPhone with a Usage Location for 'US' and assign the Office 365 E3 License as well as PhoneSystem No Policies will be assigned to the Common Area Phone, the Global Policy will be in effect for this Phone</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 4 --------------------------</maml:title>
        <dev:code>New-TeamsCommonAreaPhone -UserPrincipalName "Lobby@TenantName.onmicrosoft.com" -Displayname "Lobby Phone" -UsageLocation US -IPPhonePolicy "My IPP" -TeamsCallingPolicy "CallP" -TeamsCallParkPolicy "CallPark"</dev:code>
        <dev:remarks>
          <maml:para>Will create a CommonAreaPhone with a Usage Location for 'US' and assign the CommonAreaPhone License The supplied Policies will be assigned to the Common Area Phone</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/New-TeamsCommonAreaPhone.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/New-TeamsCommonAreaPhone.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_VoiceConfiguration.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_VoiceConfiguration.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_UserManagement.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_UserManagement.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>New-TeamsHolidaySchedule</command:name>
      <command:verb>New</command:verb>
      <command:noun>TeamsHolidaySchedule</command:noun>
      <maml:description>
        <maml:para>Creates a Teams Schedule for each Country and Year specified</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Queries the Nager.Date API for public Holidays for Country and year and creates a CsOnlineSchedule object for each.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>New-TeamsHolidaySchedule</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases="CC, Country">
          <maml:name>CountryCode</maml:name>
          <maml:description>
            <maml:para>Required. ISO3166-Alpha-2 Country Code. One or more Countries from the list of Get-PublicHolidayCountry</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
          <dev:type>
            <maml:name>String[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="2" aliases="Y">
          <maml:name>Year</maml:name>
          <maml:description>
            <maml:para>Optional. Year for which the Holidays are to be listed. One or more Years between 2000 and 3000 If not provided, the current year is taken. If the current month is December, the coming year is taken.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Int32[]</command:parameterValue>
          <dev:type>
            <maml:name>Int32[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none">
          <maml:name>FilterPastDates</maml:name>
          <maml:description>
            <maml:para>Only consideres dates that are in the future</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi">
          <maml:name>WhatIf</maml:name>
          <maml:description>
            <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf">
          <maml:name>Confirm</maml:name>
          <maml:description>
            <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases="CC, Country">
        <maml:name>CountryCode</maml:name>
        <maml:description>
          <maml:para>Required. ISO3166-Alpha-2 Country Code. One or more Countries from the list of Get-PublicHolidayCountry</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
        <dev:type>
          <maml:name>String[]</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="2" aliases="Y">
        <maml:name>Year</maml:name>
        <maml:description>
          <maml:para>Optional. Year for which the Holidays are to be listed. One or more Years between 2000 and 3000 If not provided, the current year is taken. If the current month is December, the coming year is taken.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Int32[]</command:parameterValue>
        <dev:type>
          <maml:name>Int32[]</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none">
        <maml:name>FilterPastDates</maml:name>
        <maml:description>
          <maml:para>Only consideres dates that are in the future</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi">
        <maml:name>WhatIf</maml:name>
        <maml:description>
          <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf">
        <maml:name>Confirm</maml:name>
        <maml:description>
          <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.String</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>The Nager.Date API currently supports a bit over 100 Countries. Please query with Get-PublicHolidayCountry Evaluated the following APIs: Nager.Date: Decent coverage (100+ Countries). Free &amp; Used Coverage: https://date.nager.at/Home/RegionStatistic TimeAndDate: Great coverage. Requires license. Also a bit clunky. Not considering implementation. Calendarific: Great coverage. Requires license for commercial use. Currently not considering development Utilising the Calendarific API could be integrated if licensed and the API key is passed/registered locally.</maml:para>
        <maml:para>Teams only supports fixed schedules with maximum 10 dates. This CmdLet therefore splits all found holidays for a year into multiple Schedules and returns each object. When running this CmdLet, the Schedule is created in the Teams tenant.</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>New-TeamsHolidaySchedule -CountryCode CA -Year 2022</dev:code>
        <dev:remarks>
          <maml:para>Creates Schedule Objects in Teams for Canada for the year 2022. One Schedule object per 10 Holidays. They are named as "CA 2022 #1" and "CA 2022 #2" respectively</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title>
        <dev:code>New-TeamsHolidaySchedule -CountryCode CA -Year 2022,2023,2024</dev:code>
        <dev:remarks>
          <maml:para>Creates Schedule Objects in Teams for Canada for the years 2022 to 2024. One Schedule object per 10 Holidays</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 3 --------------------------</maml:title>
        <dev:code>New-TeamsHolidaySchedule -CountryCode CA,MX,GB,DE -Year 2022</dev:code>
        <dev:remarks>
          <maml:para>Creates Schedule Objects in Teams for Canada, Mexico, Great Britain &amp; Germany for the year 2022. One Schedule object per 10 Holidays. They are named as "CA 2022 #1", "CA 2022 #2", "MX 2022 #1", etc. respectively</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 4 --------------------------</maml:title>
        <dev:code>New-TeamsHolidaySchedule -CountryCode CA,MX,GB,DE -Year 2022,2023,2024</dev:code>
        <dev:remarks>
          <maml:para>Creates Schedule Objects in Teams for Canada, Mexico, Great Britain &amp; Germany for the years 2022 to 2024. One Schedule object per 10 Holidays. They are named as "CA 2022 #1", "CA 2022 #2", "CA 2023 #1", etc. respectively</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 5 --------------------------</maml:title>
        <dev:code>New-TeamsHolidaySchedule -CountryCode CA -Year 2022 -FilterPastDates</dev:code>
        <dev:remarks>
          <maml:para>Creates Schedule Objects in Teams for Canada, Mexico, Great Britain &amp; Germany for the years 2022 to 2024. Holidays for this year that are in the past are not considered, if more than 10 holidays remain, one Schedule object is created per 10 Holidays.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/New-TeamsHolidaySchedule.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/New-TeamsHolidaySchedule.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_TeamsAutoAttendant.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_TeamsAutoAttendant.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>New-TeamsResourceAccount</command:name>
      <command:verb>New</command:verb>
      <command:noun>TeamsResourceAccount</command:noun>
      <maml:description>
        <maml:para>Creates a new Resource Account</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Teams Call Queues and Auto Attendants require a resource account. It can carry a license and optionally also a phone number. This Function was designed to create the ApplicationInstance in AD, apply a UsageLocation to the corresponding AzureAD User, license the User and subsequently apply a phone number, all with one Command.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>New-TeamsResourceAccount</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases="none">
          <maml:name>UserPrincipalName</maml:name>
          <maml:description>
            <maml:para>Required. The UPN for the new ResourceAccount. Invalid characters are stripped from the provided string</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>DisplayName</maml:name>
          <maml:description>
            <maml:para>Optional. The Name it will show up as in Teams. Invalid characters are stripped from the provided string</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="Type">
          <maml:name>ApplicationType</maml:name>
          <maml:description>
            <maml:para>Required. CallQueue or AutoAttendant. Determines the association the account can have: A resource Account of the type "CallQueue" can only be associated with to a Call Queue A resource Account of the type "AutoAttendant" can only be associated with an Auto Attendant The type can be switched later (this is supported and worked flawlessly when testing, but not recommended by Microsoft).</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>UsageLocation</maml:name>
          <maml:description>
            <maml:para>Required. Two Digit Country Code of the Location of the entity. Before a License can be assigned, the account needs a Usage Location populated.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>License</maml:name>
          <maml:description>
            <maml:para>Optional. Specifies the License to be assigned: PhoneSystem or PhoneSystem_VirtualUser If not provided, will default to PhoneSystem_VirtualUser Unlicensed Objects can exist, but cannot be assigned a phone number PhoneSystem is an add-on license and cannot be assigned on its own. it has therefore been deactivated for now.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
          <dev:type>
            <maml:name>String[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="Tel, Number, TelephoneNumber">
          <maml:name>PhoneNumber</maml:name>
          <maml:description>
            <maml:para>Optional. Adds a Microsoft or Direct Routing Number to the Resource Account. Requires the Resource Account to be licensed (License Switch) Required format is E.164, starting with a '+' and 10-15 digits long.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="OVP">
          <maml:name>OnlineVoiceRoutingPolicy</maml:name>
          <maml:description>
            <maml:para>Optional. Required for DirectRouting. Assigns an Online Voice Routing Policy to the Account</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none">
          <maml:name>Sync</maml:name>
          <maml:description>
            <maml:para>Calls Sync-CsOnlineApplicationInstance cmdlet after applying settings synchronizing the application instances from Azure Active Directory into Agent Provisioning Service.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi">
          <maml:name>WhatIf</maml:name>
          <maml:description>
            <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf">
          <maml:name>Confirm</maml:name>
          <maml:description>
            <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases="none">
        <maml:name>UserPrincipalName</maml:name>
        <maml:description>
          <maml:para>Required. The UPN for the new ResourceAccount. Invalid characters are stripped from the provided string</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>DisplayName</maml:name>
        <maml:description>
          <maml:para>Optional. The Name it will show up as in Teams. Invalid characters are stripped from the provided string</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="Type">
        <maml:name>ApplicationType</maml:name>
        <maml:description>
          <maml:para>Required. CallQueue or AutoAttendant. Determines the association the account can have: A resource Account of the type "CallQueue" can only be associated with to a Call Queue A resource Account of the type "AutoAttendant" can only be associated with an Auto Attendant The type can be switched later (this is supported and worked flawlessly when testing, but not recommended by Microsoft).</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>UsageLocation</maml:name>
        <maml:description>
          <maml:para>Required. Two Digit Country Code of the Location of the entity. Before a License can be assigned, the account needs a Usage Location populated.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>License</maml:name>
        <maml:description>
          <maml:para>Optional. Specifies the License to be assigned: PhoneSystem or PhoneSystem_VirtualUser If not provided, will default to PhoneSystem_VirtualUser Unlicensed Objects can exist, but cannot be assigned a phone number PhoneSystem is an add-on license and cannot be assigned on its own. it has therefore been deactivated for now.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
        <dev:type>
          <maml:name>String[]</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="Tel, Number, TelephoneNumber">
        <maml:name>PhoneNumber</maml:name>
        <maml:description>
          <maml:para>Optional. Adds a Microsoft or Direct Routing Number to the Resource Account. Requires the Resource Account to be licensed (License Switch) Required format is E.164, starting with a '+' and 10-15 digits long.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="OVP">
        <maml:name>OnlineVoiceRoutingPolicy</maml:name>
        <maml:description>
          <maml:para>Optional. Required for DirectRouting. Assigns an Online Voice Routing Policy to the Account</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none">
        <maml:name>Sync</maml:name>
        <maml:description>
          <maml:para>Calls Sync-CsOnlineApplicationInstance cmdlet after applying settings synchronizing the application instances from Azure Active Directory into Agent Provisioning Service.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi">
        <maml:name>WhatIf</maml:name>
        <maml:description>
          <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf">
        <maml:name>Confirm</maml:name>
        <maml:description>
          <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.String</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>Execution requires User Admin Role in Azure AD Assigning the PhoneSystem license has been deactivated as it is an add-on license and cannot be assigned on its own.</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>New-TeamsResourceAccount -UserPrincipalName "Resource Account@TenantName.onmicrosoft.com" -ApplicationType CallQueue -UsageLocation US</dev:code>
        <dev:remarks>
          <maml:para>Will create a ResourceAccount of the type CallQueue with a Usage Location for 'US' User Principal Name will be normalised to: ResourceAccount@TenantName.onmicrosoft.com DisplayName will be taken from the User PrincipalName and normalised to "ResourceAccount"</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title>
        <dev:code>New-TeamsResourceAccount -UserPrincipalName "Resource Account@TenantName.onmicrosoft.com" -Displayname "My {ResourceAccount}" -ApplicationType CallQueue -UsageLocation US</dev:code>
        <dev:remarks>
          <maml:para>Will create a ResourceAccount of the type CallQueue with a Usage Location for 'US' User Principal Name will be normalised to: ResourceAccount@TenantName.onmicrosoft.com DisplayName will be normalised to "My ResourceAccount"</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 3 --------------------------</maml:title>
        <dev:code>New-TeamsResourceAccount -UserPrincipalName AA-Mainline@TenantName.onmicrosoft.com -Displayname "Mainline" -ApplicationType AutoAttendant -UsageLocation US -License PhoneSystem -PhoneNumber +1555123456</dev:code>
        <dev:remarks>
          <maml:para>Creates a Resource Account for Auto Attendants with a Usage Location for 'US' Applies the specified PhoneSystem License (if available in the Tenant) Assigns the Telephone Number if object could be licensed correctly.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/New-TeamsResourceAccount.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/New-TeamsResourceAccount.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_TeamsResourceAccount.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_TeamsResourceAccount.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>New-TeamsResourceAccountAssociation</command:name>
      <command:verb>New</command:verb>
      <command:noun>TeamsResourceAccountAssociation</command:noun>
      <maml:description>
        <maml:para>Connects one or more Resource Accounts to a single CallQueue or AutoAttendant</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Associates one or more existing Resource Accounts to a Call Queue or Auto Attendant Resource Account Type is checked against the ApplicationType. User is prompted if types do not match</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>New-TeamsResourceAccountAssociation</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases="Identity, ObjectId">
          <maml:name>UserPrincipalName</maml:name>
          <maml:description>
            <maml:para>Required. UPN(s) of the Resource Account(s) to be associated to a Call Queue or AutoAttendant</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
          <dev:type>
            <maml:name>String[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none">
          <maml:name>CallQueue</maml:name>
          <maml:description>
            <maml:para>Optional. Specifies the connection to be made to the provided Call Queue Name</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Optional. Suppresses Confirmation dialog if -Confirm is not provided Used to override prompts for alignment of ApplicationTypes. The Resource Account is changed to have the same type as the associated Object (CallQueue or AutoAttendant)!</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi">
          <maml:name>WhatIf</maml:name>
          <maml:description>
            <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf">
          <maml:name>Confirm</maml:name>
          <maml:description>
            <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <command:syntaxItem>
        <maml:name>New-TeamsResourceAccountAssociation</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases="Identity, ObjectId">
          <maml:name>UserPrincipalName</maml:name>
          <maml:description>
            <maml:para>Required. UPN(s) of the Resource Account(s) to be associated to a Call Queue or AutoAttendant</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
          <dev:type>
            <maml:name>String[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none">
          <maml:name>AutoAttendant</maml:name>
          <maml:description>
            <maml:para>Optional. Specifies the connection to be made to the provided Auto Attendant Name</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Optional. Suppresses Confirmation dialog if -Confirm is not provided Used to override prompts for alignment of ApplicationTypes. The Resource Account is changed to have the same type as the associated Object (CallQueue or AutoAttendant)!</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi">
          <maml:name>WhatIf</maml:name>
          <maml:description>
            <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf">
          <maml:name>Confirm</maml:name>
          <maml:description>
            <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases="Identity, ObjectId">
        <maml:name>UserPrincipalName</maml:name>
        <maml:description>
          <maml:para>Required. UPN(s) of the Resource Account(s) to be associated to a Call Queue or AutoAttendant</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
        <dev:type>
          <maml:name>String[]</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none">
        <maml:name>CallQueue</maml:name>
        <maml:description>
          <maml:para>Optional. Specifies the connection to be made to the provided Call Queue Name</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none">
        <maml:name>AutoAttendant</maml:name>
        <maml:description>
          <maml:para>Optional. Specifies the connection to be made to the provided Auto Attendant Name</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>Force</maml:name>
        <maml:description>
          <maml:para>Optional. Suppresses Confirmation dialog if -Confirm is not provided Used to override prompts for alignment of ApplicationTypes. The Resource Account is changed to have the same type as the associated Object (CallQueue or AutoAttendant)!</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi">
        <maml:name>WhatIf</maml:name>
        <maml:description>
          <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf">
        <maml:name>Confirm</maml:name>
        <maml:description>
          <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.String</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>Connects multiple Resource Accounts to ONE CallQueue or AutoAttendant The Type of the Resource Account has to corellate to the entity connected. Parameter Force can be used to change the type of RA to align to the entity if possible.</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>New-TeamsResourceAccountAssociation -UserPrincipalName Account1@domain.com -CallQueue "My CQ"</dev:code>
        <dev:remarks>
          <maml:para>Associates Account1@domain.com to the Call Queue "My CQ"</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title>
        <dev:code>New-TeamsResourceAccountAssociation -UserPrincipalName Account1@domain.com -AutoAttendant "My AA" -Force</dev:code>
        <dev:remarks>
          <maml:para>Associates Account1@domain.com to the Auto Attendant "My AA" This will un-associate the Resource Account from any previous connection and associate it with this Auto Attendant</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/New-TeamsResourceAccountAssociation.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/New-TeamsResourceAccountAssociation.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_TeamsResourceAccount.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_TeamsResourceAccount.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>New-TeamsResourceAccountLineIdentity</command:name>
      <command:verb>New</command:verb>
      <command:noun>TeamsResourceAccountLineIdentity</command:noun>
      <maml:description>
        <maml:para>Creates a new Calling Line Identity for a Resource Account</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Creates a CsCallingLineIdentity Object for the Phone Number assigned to a Resource Account</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>New-TeamsResourceAccountLineIdentity</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases="Identity">
          <maml:name>UserPrincipalName</maml:name>
          <maml:description>
            <maml:para>Required. Identifies the Resource Account for which the Line Identity is being created</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>BlockIncomingPstnCallerID</maml:name>
          <maml:description>
            <maml:para>Blocks incoming PSTN Caller ID for inbound calls to the Call Queue or Auto Attendant</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>EnableUserOverride</maml:name>
          <maml:description>
            <maml:para>Allows the User to choose the Caller Line Id before placing the call.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="named" aliases="none">
          <maml:name>CompanyName</maml:name>
          <maml:description>
            <maml:para>Sets the Company Name displayed for outbound calls.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi">
          <maml:name>WhatIf</maml:name>
          <maml:description>
            <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf">
          <maml:name>Confirm</maml:name>
          <maml:description>
            <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases="Identity">
        <maml:name>UserPrincipalName</maml:name>
        <maml:description>
          <maml:para>Required. Identifies the Resource Account for which the Line Identity is being created</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>BlockIncomingPstnCallerID</maml:name>
        <maml:description>
          <maml:para>Blocks incoming PSTN Caller ID for inbound calls to the Call Queue or Auto Attendant</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>EnableUserOverride</maml:name>
        <maml:description>
          <maml:para>Allows the User to choose the Caller Line Id before placing the call.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="named" aliases="none">
        <maml:name>CompanyName</maml:name>
        <maml:description>
          <maml:para>Sets the Company Name displayed for outbound calls.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi">
        <maml:name>WhatIf</maml:name>
        <maml:description>
          <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf">
        <maml:name>Confirm</maml:name>
        <maml:description>
          <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.String</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>The Calling Line Identity is created with New-CsCallingLineIdentity. The Parameters Identity, Description and CallingIDSubstitute are populated by the Resource Account data Identity is populated with the UPN of the Resource Account Description is "CLI for RA: " plus the Display Name of the Resource Account CallingIDSubstitute is "Resource".</maml:para>
        <maml:para>$ObjId = (Get-CsOnlineApplicationInstance -Identity dkcq@contoso.com).ObjectId New-CsCallingLineIdentity -Identity DKCQ -CallingIDSubstitute Resource -EnableUserOverride $false -ResourceAccount $ObjId -CompanyName "Contoso" https://docs.microsoft.com/en-us/powershell/module/skype/new-cscallinglineidentity?view=skype-ps</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>New-TeamsResourceAccountLineIdentity -Identity ResourceAccount@domain.com</dev:code>
        <dev:remarks>
          <maml:para>Creates a new Line Identity for the Resource Account provided.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title>
        <dev:code>New-TeamsResourceAccountLineIdentity -Identity ResourceAccount@domain.com -BlockIncomingPstnCallerID</dev:code>
        <dev:remarks>
          <maml:para>Creates a new Line Identity for the Resource Account provided and suppresses the inbound Caller ID</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 3 --------------------------</maml:title>
        <dev:code>New-TeamsResourceAccountLineIdentity -Identity ResourceAccount@domain.com -EnableUserOverride</dev:code>
        <dev:remarks>
          <maml:para>Creates a new Line Identity for the Resource Account provided and allows the User to choose which Caller ID to display</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 4 --------------------------</maml:title>
        <dev:code>New-TeamsResourceAccountLineIdentity -Identity ResourceAccount@domain.com -CompanyName "Contoso Domain Services"</dev:code>
        <dev:remarks>
          <maml:para>Creates a new Line Identity for the Resource Account provided and sets the outbound display name to 'Contoso Domain Services'</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/New-TeamsResourceAccountLineIdentity.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/New-TeamsResourceAccountLineIdentity.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_TeamsFunctions.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_TeamsFunctions.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>New-TeamsUserVoiceConfig</command:name>
      <command:verb>New</command:verb>
      <command:noun>TeamsUserVoiceConfig</command:noun>
      <maml:description>
        <maml:para>Enables a User to consume Voice services in Teams (Pstn breakout)</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Enables a User for Direct Routing, Microsoft Callings or for use in Call Queues (EvOnly) User requires a Phone System License in any case. Requires all necessary parameters. Calls Set-TeamsUserVoiceConfig after validating parameters.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>New-TeamsUserVoiceConfig</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases="Identity">
          <maml:name>UserPrincipalName</maml:name>
          <maml:description>
            <maml:para>Required. UserPrincipalName (UPN) of the User to change the configuration for</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>DirectRouting</maml:name>
          <maml:description>
            <maml:para>Optional (Default Parameter Set). Limits the Scope to enable an Object for DirectRouting</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="OVP">
          <maml:name>OnlineVoiceRoutingPolicy</maml:name>
          <maml:description>
            <maml:para>Required. Required for DirectRouting. Assigns an Online Voice Routing Policy to the User</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="TDP">
          <maml:name>TenantDialPlan</maml:name>
          <maml:description>
            <maml:para>Optional. Optional for DirectRouting. Assigns a Tenant Dial Plan to the User</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="Number, LineURI">
          <maml:name>PhoneNumber</maml:name>
          <maml:description>
            <maml:para>Required. Phone Number in E.164 format to be assigned to the User. For proper configuration a PhoneNumber is required. Without it, the User will not be able to make or receive calls. This script does not enforce all Parameters and is intended to validate and configure one or all Parameters. For enforced ParameterSet please call New-TeamsUserVoiceConfig (NOTE: This script does currently not yet exist) For DirectRouting, will populate the LineUri For CallingPlans, will populate the TelephoneNumber (must be present in the Tenant)</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>By default, this script only applies changed elements. Force overwrites configuration regardless of current status. Additionally Suppresses confirmation inputs except when $Confirm is explicitly specified</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>WriteErrorLog</maml:name>
          <maml:description>
            <maml:para>If Errors are encountered, writes log to C:\Temp</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi">
          <maml:name>WhatIf</maml:name>
          <maml:description>
            <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf">
          <maml:name>Confirm</maml:name>
          <maml:description>
            <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <command:syntaxItem>
        <maml:name>New-TeamsUserVoiceConfig</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases="Identity">
          <maml:name>UserPrincipalName</maml:name>
          <maml:description>
            <maml:para>Required. UserPrincipalName (UPN) of the User to change the configuration for</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="TDP">
          <maml:name>TenantDialPlan</maml:name>
          <maml:description>
            <maml:para>Optional. Optional for DirectRouting. Assigns a Tenant Dial Plan to the User</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="Number, LineURI">
          <maml:name>PhoneNumber</maml:name>
          <maml:description>
            <maml:para>Required. Phone Number in E.164 format to be assigned to the User. For proper configuration a PhoneNumber is required. Without it, the User will not be able to make or receive calls. This script does not enforce all Parameters and is intended to validate and configure one or all Parameters. For enforced ParameterSet please call New-TeamsUserVoiceConfig (NOTE: This script does currently not yet exist) For DirectRouting, will populate the LineUri For CallingPlans, will populate the TelephoneNumber (must be present in the Tenant)</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>CallingPlan</maml:name>
          <maml:description>
            <maml:para>Enables an Object for Microsoft Calling Plans</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>CallingPlanLicense</maml:name>
          <maml:description>
            <maml:para>Optional. Optional for CallingPlans. Assigns a Calling Plan License to the User. Must be one of the set: InternationalCallingPlan DomesticCallingPlan DomesticCallingPlan120 CommunicationCredits DomesticCallingPlan120b</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
          <dev:type>
            <maml:name>String[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>By default, this script only applies changed elements. Force overwrites configuration regardless of current status. Additionally Suppresses confirmation inputs except when $Confirm is explicitly specified</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>WriteErrorLog</maml:name>
          <maml:description>
            <maml:para>If Errors are encountered, writes log to C:\Temp</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi">
          <maml:name>WhatIf</maml:name>
          <maml:description>
            <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf">
          <maml:name>Confirm</maml:name>
          <maml:description>
            <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases="Identity">
        <maml:name>UserPrincipalName</maml:name>
        <maml:description>
          <maml:para>Required. UserPrincipalName (UPN) of the User to change the configuration for</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>DirectRouting</maml:name>
        <maml:description>
          <maml:para>Optional (Default Parameter Set). Limits the Scope to enable an Object for DirectRouting</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="OVP">
        <maml:name>OnlineVoiceRoutingPolicy</maml:name>
        <maml:description>
          <maml:para>Required. Required for DirectRouting. Assigns an Online Voice Routing Policy to the User</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="TDP">
        <maml:name>TenantDialPlan</maml:name>
        <maml:description>
          <maml:para>Optional. Optional for DirectRouting. Assigns a Tenant Dial Plan to the User</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="Number, LineURI">
        <maml:name>PhoneNumber</maml:name>
        <maml:description>
          <maml:para>Required. Phone Number in E.164 format to be assigned to the User. For proper configuration a PhoneNumber is required. Without it, the User will not be able to make or receive calls. This script does not enforce all Parameters and is intended to validate and configure one or all Parameters. For enforced ParameterSet please call New-TeamsUserVoiceConfig (NOTE: This script does currently not yet exist) For DirectRouting, will populate the LineUri For CallingPlans, will populate the TelephoneNumber (must be present in the Tenant)</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>CallingPlan</maml:name>
        <maml:description>
          <maml:para>Enables an Object for Microsoft Calling Plans</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>CallingPlanLicense</maml:name>
        <maml:description>
          <maml:para>Optional. Optional for CallingPlans. Assigns a Calling Plan License to the User. Must be one of the set: InternationalCallingPlan DomesticCallingPlan DomesticCallingPlan120 CommunicationCredits DomesticCallingPlan120b</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
        <dev:type>
          <maml:name>String[]</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>Force</maml:name>
        <maml:description>
          <maml:para>By default, this script only applies changed elements. Force overwrites configuration regardless of current status. Additionally Suppresses confirmation inputs except when $Confirm is explicitly specified</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>WriteErrorLog</maml:name>
        <maml:description>
          <maml:para>If Errors are encountered, writes log to C:\Temp</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi">
        <maml:name>WhatIf</maml:name>
        <maml:description>
          <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf">
        <maml:name>Confirm</maml:name>
        <maml:description>
          <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.String</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object - Default Behaviour</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
      <command:returnValue>
        <dev:type>
          <maml:name>System.File - With Switch WriteErrorLog</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>ParameterSet 'DirectRouting' will provision a User to use DirectRouting. Enables User for Enterprise Voice, assigns a Number and an Online Voice Routing Policy and optionally also a Tenant Dial Plan. This is the default. ParameterSet 'CallingPlans' will provision a User to use Microsoft CallingPlans. Enables User for Enterprise Voice and assigns a Microsoft Number (must be found in the Tenant!) Optionally can also assign a Calling Plan license prior. This script cannot apply PhoneNumbers for OperatorConnect yet This script accepts pipeline input as Value (UserPrincipalName) or as Object (UPN, OVP, TDP, PhoneNumber) This enables bulk provisioning This script calls Set-TeamsUserVoiceConfig and passes on all parameters. All work is done by the Set-Cmdlet It differs only in that all Parameters are required and that an Object is always returned.</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>New-TeamsUserVoiceConfig -UserPrincipalName John@domain.com -CallingPlans -PhoneNumber "+15551234567" -CallingPlanLicense DomesticCallingPlan</dev:code>
        <dev:remarks>
          <maml:para>Provisions John@domain.com for Calling Plans with the Calling Plan License and Phone Number provided</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title>
        <dev:code>New-TeamsUserVoiceConfig -UserPrincipalName John@domain.com -CallingPlans -PhoneNumber "+15551234567" -WriteErrorLog</dev:code>
        <dev:remarks>
          <maml:para>Provisions John@domain.com for Calling Plans with the Phone Number provided (requires Calling Plan License to be assigned already) If Errors are encountered, they are written to C:\Temp as well as on screen</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 3 --------------------------</maml:title>
        <dev:code>New-TeamsUserVoiceConfig -UserPrincipalName John@domain.com -DirectRouting -PhoneNumber "+15551234567" -OnlineVoiceRoutingPolicy "O_VP_AMER"</dev:code>
        <dev:remarks>
          <maml:para>Provisions John@domain.com for DirectRouting with the Online Voice Routing Policy and Phone Number provided</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 4 --------------------------</maml:title>
        <dev:code>New-TeamsUserVoiceConfig -UserPrincipalName John@domain.com -PhoneNumber "+15551234567" -OnlineVoiceRoutingPolicy "O_VP_AMER" -TenantDialPlan "DP-US"</dev:code>
        <dev:remarks>
          <maml:para>Provisions John@domain.com for DirectRouting with the Online Voice Routing Policy, Tenant Dial Plan and Phone Number provided</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 5 --------------------------</maml:title>
        <dev:code>New-TeamsUserVoiceConfig -UserPrincipalName John@domain.com -PhoneNumber "+15551234567" -OnlineVoiceRoutingPolicy "O_VP_AMER"</dev:code>
        <dev:remarks>
          <maml:para>Provisions John@domain.com for DirectRouting with the Online Voice Routing Policy and Phone Number provided.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/New-TeamsUserVoiceConfig.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/New-TeamsUserVoiceConfig.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_VoiceConfiguration.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_VoiceConfiguration.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>New-TeamsVoiceRoutingChain</command:name>
      <command:verb>New</command:verb>
      <command:noun>TeamsVoiceRoutingChain</command:noun>
      <maml:description>
        <maml:para>Creates Voice Routing configuration existing Pstn Gateways</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Creates OVP, OPU &amp; OVR for all provided Gateways. A 1:1:1:1 connection is created. Use Connect-VoiceRoutingChain to establish link if not successful</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>New-TeamsVoiceRoutingChain</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Name</maml:name>
          <maml:description>
            <maml:para>Optional String. Proto-Name for the Routing Chain: Policy, PstnUsage and Voice Route. If provided will be deconstructed through other available particles. Prefixes, Interfixes and Suffixes are attached afterwards depending on Artifact, Country, Site &amp; Call Restriction</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Gateway</maml:name>
          <maml:description>
            <maml:para>Required String. OnlinePstnGateway used to connect the route for. Routes are created in order of provided Gateways. One or more FQDNs of OnlinePstnGateways already present and enabled in the Teams Tenant.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
          <dev:type>
            <maml:name>String[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Region</maml:name>
          <maml:description>
            <maml:para>Optional selection of AMER, EMEA or APAC. Useful to indicate global geo-regional breakout Particle is added to the full name after the prefix and before the Name</maml:para>
          </maml:description>
          <command:parameterValueGroup>
            <command:parameterValue required="false" command:variableLength="false">AMER</command:parameterValue>
            <command:parameterValue required="false" command:variableLength="false">EMEA</command:parameterValue>
            <command:parameterValue required="false" command:variableLength="false">APAC</command:parameterValue>
          </command:parameterValueGroup>
          <command:parameterValue required="true" variableLength="false">GeoRegion</command:parameterValue>
          <dev:type>
            <maml:name>GeoRegion</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Country</maml:name>
          <maml:description>
            <maml:para>String. ISO 3166-alpha2 or -alpha3 2/3-digit Country Code - Will be verified Required for Local Breakout and if non-default CallRestrictions are to be applied</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Site</maml:name>
          <maml:description>
            <maml:para>Optional String (3-10 digits). Indicates a local breakout at a specific Site, adding the String to the Policy Name Required for Local Breakout and if non-default CallRestrictions are to be applied</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>CallRestriction</maml:name>
          <maml:description>
            <maml:para>Optional String. Indicates a Restriction to be applied to the Routes Level of Call Restriction to be applied: Unrestricted (default), International, National, EmergencyOnly, Custom Optional. Requires Country if not Unrestricted.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>CustomRestrictionName</maml:name>
          <maml:description>
            <maml:para>Required String (3-10 digits) for Custom CallRestrictions only.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>MatchingPattern</maml:name>
          <maml:description>
            <maml:para>Required for Custom CallRestrictions or to override specific restrictions Regex Pattern to match dialed numbers to. Required for Non-default CallRestrictions</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi">
          <maml:name>WhatIf</maml:name>
          <maml:description>
            <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf">
          <maml:name>Confirm</maml:name>
          <maml:description>
            <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <command:syntaxItem>
        <maml:name>New-TeamsVoiceRoutingChain</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Name</maml:name>
          <maml:description>
            <maml:para>Optional String. Proto-Name for the Routing Chain: Policy, PstnUsage and Voice Route. If provided will be deconstructed through other available particles. Prefixes, Interfixes and Suffixes are attached afterwards depending on Artifact, Country, Site &amp; Call Restriction</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Gateway</maml:name>
          <maml:description>
            <maml:para>Required String. OnlinePstnGateway used to connect the route for. Routes are created in order of provided Gateways. One or more FQDNs of OnlinePstnGateways already present and enabled in the Teams Tenant.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
          <dev:type>
            <maml:name>String[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Region</maml:name>
          <maml:description>
            <maml:para>Optional selection of AMER, EMEA or APAC. Useful to indicate global geo-regional breakout Particle is added to the full name after the prefix and before the Name</maml:para>
          </maml:description>
          <command:parameterValueGroup>
            <command:parameterValue required="false" command:variableLength="false">AMER</command:parameterValue>
            <command:parameterValue required="false" command:variableLength="false">EMEA</command:parameterValue>
            <command:parameterValue required="false" command:variableLength="false">APAC</command:parameterValue>
          </command:parameterValueGroup>
          <command:parameterValue required="true" variableLength="false">GeoRegion</command:parameterValue>
          <dev:type>
            <maml:name>GeoRegion</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Country</maml:name>
          <maml:description>
            <maml:para>String. ISO 3166-alpha2 or -alpha3 2/3-digit Country Code - Will be verified Required for Local Breakout and if non-default CallRestrictions are to be applied</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Site</maml:name>
          <maml:description>
            <maml:para>Optional String (3-10 digits). Indicates a local breakout at a specific Site, adding the String to the Policy Name Required for Local Breakout and if non-default CallRestrictions are to be applied</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>CallRestriction</maml:name>
          <maml:description>
            <maml:para>Optional String. Indicates a Restriction to be applied to the Routes Level of Call Restriction to be applied: Unrestricted (default), International, National, EmergencyOnly, Custom Optional. Requires Country if not Unrestricted.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>MatchingPattern</maml:name>
          <maml:description>
            <maml:para>Required for Custom CallRestrictions or to override specific restrictions Regex Pattern to match dialed numbers to. Required for Non-default CallRestrictions</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi">
          <maml:name>WhatIf</maml:name>
          <maml:description>
            <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf">
          <maml:name>Confirm</maml:name>
          <maml:description>
            <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <command:syntaxItem>
        <maml:name>New-TeamsVoiceRoutingChain</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Name</maml:name>
          <maml:description>
            <maml:para>Optional String. Proto-Name for the Routing Chain: Policy, PstnUsage and Voice Route. If provided will be deconstructed through other available particles. Prefixes, Interfixes and Suffixes are attached afterwards depending on Artifact, Country, Site &amp; Call Restriction</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Gateway</maml:name>
          <maml:description>
            <maml:para>Required String. OnlinePstnGateway used to connect the route for. Routes are created in order of provided Gateways. One or more FQDNs of OnlinePstnGateways already present and enabled in the Teams Tenant.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
          <dev:type>
            <maml:name>String[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Region</maml:name>
          <maml:description>
            <maml:para>Optional selection of AMER, EMEA or APAC. Useful to indicate global geo-regional breakout Particle is added to the full name after the prefix and before the Name</maml:para>
          </maml:description>
          <command:parameterValueGroup>
            <command:parameterValue required="false" command:variableLength="false">AMER</command:parameterValue>
            <command:parameterValue required="false" command:variableLength="false">EMEA</command:parameterValue>
            <command:parameterValue required="false" command:variableLength="false">APAC</command:parameterValue>
          </command:parameterValueGroup>
          <command:parameterValue required="true" variableLength="false">GeoRegion</command:parameterValue>
          <dev:type>
            <maml:name>GeoRegion</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Country</maml:name>
          <maml:description>
            <maml:para>String. ISO 3166-alpha2 or -alpha3 2/3-digit Country Code - Will be verified Required for Local Breakout and if non-default CallRestrictions are to be applied</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Site</maml:name>
          <maml:description>
            <maml:para>Optional String (3-10 digits). Indicates a local breakout at a specific Site, adding the String to the Policy Name Required for Local Breakout and if non-default CallRestrictions are to be applied</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi">
          <maml:name>WhatIf</maml:name>
          <maml:description>
            <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf">
          <maml:name>Confirm</maml:name>
          <maml:description>
            <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>Name</maml:name>
        <maml:description>
          <maml:para>Optional String. Proto-Name for the Routing Chain: Policy, PstnUsage and Voice Route. If provided will be deconstructed through other available particles. Prefixes, Interfixes and Suffixes are attached afterwards depending on Artifact, Country, Site &amp; Call Restriction</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>Gateway</maml:name>
        <maml:description>
          <maml:para>Required String. OnlinePstnGateway used to connect the route for. Routes are created in order of provided Gateways. One or more FQDNs of OnlinePstnGateways already present and enabled in the Teams Tenant.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
        <dev:type>
          <maml:name>String[]</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>Region</maml:name>
        <maml:description>
          <maml:para>Optional selection of AMER, EMEA or APAC. Useful to indicate global geo-regional breakout Particle is added to the full name after the prefix and before the Name</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">GeoRegion</command:parameterValue>
        <dev:type>
          <maml:name>GeoRegion</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>Country</maml:name>
        <maml:description>
          <maml:para>String. ISO 3166-alpha2 or -alpha3 2/3-digit Country Code - Will be verified Required for Local Breakout and if non-default CallRestrictions are to be applied</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>Site</maml:name>
        <maml:description>
          <maml:para>Optional String (3-10 digits). Indicates a local breakout at a specific Site, adding the String to the Policy Name Required for Local Breakout and if non-default CallRestrictions are to be applied</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>CallRestriction</maml:name>
        <maml:description>
          <maml:para>Optional String. Indicates a Restriction to be applied to the Routes Level of Call Restriction to be applied: Unrestricted (default), International, National, EmergencyOnly, Custom Optional. Requires Country if not Unrestricted.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>CustomRestrictionName</maml:name>
        <maml:description>
          <maml:para>Required String (3-10 digits) for Custom CallRestrictions only.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>MatchingPattern</maml:name>
        <maml:description>
          <maml:para>Required for Custom CallRestrictions or to override specific restrictions Regex Pattern to match dialed numbers to. Required for Non-default CallRestrictions</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi">
        <maml:name>WhatIf</maml:name>
        <maml:description>
          <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf">
        <maml:name>Confirm</maml:name>
        <maml:description>
          <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.String</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>Naming Convention: The provided name is interpreted as a proto-name. The final name is constructed as follows: Each artifact is prefixed indicating their use: "OVP-" for Online Voice Routing Policies, "OPU-" for Online Pstn Usages "OVR-" for Online Voice Routes. OVRs are suffixed with an index if multiple Gateways are provided Full naming flow: &lt;Artifact&gt;"-"&lt;Region&gt;["-"&lt;Name&gt;["-"&lt;Country&gt;]["-"&lt;Site&gt;]["-"&lt;CallRestriction&gt;]["-"&lt;Index&gt;] For Example: Name: "Standard", Region: "EMEA", Country: "France", Site: "Paris", CallRestriction: "National" with two Gateways provided Routing Policy: OVP-EMEA-Standard-FRA-Paris-National Pstn Usage: OPU-EMEA-Standard-FRA-Paris-National Voice Route: OVR-EMEA-Standard-FRA-Paris-National-1, OVR-EMEA-Standard-FRA-Paris-National-2 The first Gateway will be attached to Voice Route 1, the second Gateway to Voice Route 2, etc.</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>New-TeamsVoiceRoutingChain -Name TDR -Gateway PstnGatewayFqdn1.domain.com -Region AMER</dev:code>
        <dev:remarks>
          <maml:para>Creates one route per Gateway, one PstnUsage and one Policy: OVP-AMER-TDR No call restriction is applied. The Voice Route will receive a Matching pattern of ".*""</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title>
        <dev:code>New-TeamsVoiceRoutingChain -Name TDR -Gateway PstnGatewayFqdn1.domain.com -Region AMER -Country CA -CallRestriction Unrestricted</dev:code>
        <dev:remarks>
          <maml:para>Creates one route per Gateway, one PstnUsage and one Policy: OVP-TDR-CA (Unrestricted is the default Policy) Call Restrictions (except Unrestricted) can only be used with/for a country as the dial string is dependent on location. No call restriction is applied. The Voice Route will receive a Matching pattern of ".*""</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 3 --------------------------</maml:title>
        <dev:code>New-TeamsVoiceRoutingChain -Name TDR -Gateway PstnGatewayFqdn1.domain.com -Region AMER -Country CA -Site Toronto</dev:code>
        <dev:remarks>
          <maml:para>Creates one route per Gateway, one PstnUsage and one Policy: OVP-TDR-CA-Toronto</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 4 --------------------------</maml:title>
        <dev:code>New-TeamsVoiceRoutingChain -Name TDR -Gateway PstnGatewayFqdn1.domain.com,PstnGatewayFqdn2.domain.com -Region AMER -Country CA -CallRestriction National</dev:code>
        <dev:remarks>
          <maml:para>Creates one route per Gateway, one PstnUsage and one Policy: OVP-TDR-CA-National Applies CallRestriction to the Route with a Matching Pattern based on the dial code for the Country, i.E. "^\+1" NOTE: This does not take non-normalised calls to Emergency Services or other Services providers into Account. If this is a requirement, please amend the Matching pattern manually or use the next example to provide it</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 5 --------------------------</maml:title>
        <dev:code>New-TeamsVoiceRoutingChain -Name TDR -Gateway PstnGatewayFqdn1.domain.com,PstnGatewayFqdn2.domain.com -Region AMER -Country CA -Site Toronto -CallRestriction National -MatchingPattern "^\+1"</dev:code>
        <dev:remarks>
          <maml:para>Creates one route per Gateway, one PstnUsage and one Policy: OVP-AMER-TDR-CA-Toronto-National Applies CallRestriction to the Route with the Matching Pattern provided</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/New-TeamsVoiceRoutingChain.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/New-TeamsVoiceRoutingChain.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_VoiceConfiguration.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_VoiceConfiguration.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Remove-TeamsAutoAttendant</command:name>
      <command:verb>Remove</command:verb>
      <command:noun>TeamsAutoAttendant</command:noun>
      <maml:description>
        <maml:para>Removes an Auto Attendant</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Remove-CsAutoAttendant for friendly Names</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Remove-TeamsAutoAttendant</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases="Identity">
          <maml:name>Name</maml:name>
          <maml:description>
            <maml:para>DisplayName of the Auto Attendant</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
          <dev:type>
            <maml:name>String[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi">
          <maml:name>WhatIf</maml:name>
          <maml:description>
            <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf">
          <maml:name>Confirm</maml:name>
          <maml:description>
            <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases="Identity">
        <maml:name>Name</maml:name>
        <maml:description>
          <maml:para>DisplayName of the Auto Attendant</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
        <dev:type>
          <maml:name>String[]</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi">
        <maml:name>WhatIf</maml:name>
        <maml:description>
          <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf">
        <maml:name>Confirm</maml:name>
        <maml:description>
          <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.String</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>None</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>Remove-TeamsAutoAttendant -Name "My AutoAttendant"</dev:code>
        <dev:remarks>
          <maml:para>Prompts for removal for all Auto Attendant found with the string "My AutoAttendant"</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title>
        <dev:code>Remove-TeamsAutoAttendant -Name 00000000-0000-0000-0000-000000000000</dev:code>
        <dev:remarks>
          <maml:para>Prompts for removal for all Auto Attendant found with the ObjectId 00000000-0000-0000-0000-000000000000</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Remove-TeamsAutoAttendant.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Remove-TeamsAutoAttendant.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_TeamsAutoAttendant.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_TeamsAutoAttendant.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Remove-TeamsCallQueue</command:name>
      <command:verb>Remove</command:verb>
      <command:noun>TeamsCallQueue</command:noun>
      <maml:description>
        <maml:para>Removes a Call Queue</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Remove-CsCallQueue for friendly Names</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Remove-TeamsCallQueue</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases="none">
          <maml:name>Name</maml:name>
          <maml:description>
            <maml:para>DisplayName of the Call Queue</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
          <dev:type>
            <maml:name>String[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi">
          <maml:name>WhatIf</maml:name>
          <maml:description>
            <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf">
          <maml:name>Confirm</maml:name>
          <maml:description>
            <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases="none">
        <maml:name>Name</maml:name>
        <maml:description>
          <maml:para>DisplayName of the Call Queue</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
        <dev:type>
          <maml:name>String[]</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi">
        <maml:name>WhatIf</maml:name>
        <maml:description>
          <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf">
        <maml:name>Confirm</maml:name>
        <maml:description>
          <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.String</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>None</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>Remove-TeamsCallQueue -Name "My Queue"</dev:code>
        <dev:remarks>
          <maml:para>Prompts for removal for all queues found with the string "My Queue"</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Remove-TeamsCallQueue.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Remove-TeamsCallQueue.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_TeamsCallQueue.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_TeamsCallQueue.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Remove-TeamsCommonAreaPhone</command:name>
      <command:verb>Remove</command:verb>
      <command:noun>TeamsCommonAreaPhone</command:noun>
      <maml:description>
        <maml:para>Removes a Common Area Phone from AzureAD</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>This function allows you to remove Common Area Phones (AzureAdUser) from AzureAD</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Remove-TeamsCommonAreaPhone</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases="Identity, ObjectId">
          <maml:name>UserPrincipalName</maml:name>
          <maml:description>
            <maml:para>Required. Identifies the Object being changed</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
          <dev:type>
            <maml:name>String[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>PassThru</maml:name>
          <maml:description>
            <maml:para>Optional. Displays UserPrincipalName of removed objects.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Optional. Suppresses Confirmation prompt to remove User.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi">
          <maml:name>WhatIf</maml:name>
          <maml:description>
            <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf">
          <maml:name>Confirm</maml:name>
          <maml:description>
            <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases="Identity, ObjectId">
        <maml:name>UserPrincipalName</maml:name>
        <maml:description>
          <maml:para>Required. Identifies the Object being changed</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
        <dev:type>
          <maml:name>String[]</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>PassThru</maml:name>
        <maml:description>
          <maml:para>Optional. Displays UserPrincipalName of removed objects.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>Force</maml:name>
        <maml:description>
          <maml:para>Optional. Suppresses Confirmation prompt to remove User.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi">
        <maml:name>WhatIf</maml:name>
        <maml:description>
          <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf">
        <maml:name>Confirm</maml:name>
        <maml:description>
          <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.String</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>Execution requires User Admin Role in Azure AD</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>Remove-TeamsCommonAreaPhone -UserPrincipalName "Common Area Phone@TenantName.onmicrosoft.com"</dev:code>
        <dev:remarks>
          <maml:para>Removes a CommonAreaPhone Removes in order: Phone Number, License and Account</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Remove-TeamsCommonAreaPhone.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Remove-TeamsCommonAreaPhone.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_VoiceConfiguration.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_VoiceConfiguration.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_UserManagement.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_UserManagement.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Remove-TeamsResourceAccount</command:name>
      <command:verb>Remove</command:verb>
      <command:noun>TeamsResourceAccount</command:noun>
      <maml:description>
        <maml:para>Removes a Resource Account from AzureAD</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>This function allows you to remove Resource Accounts (Application Instances) from AzureAD</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Remove-TeamsResourceAccount</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases="Identity, ObjectId">
          <maml:name>UserPrincipalName</maml:name>
          <maml:description>
            <maml:para>Required. Identifies the Object being changed</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
          <dev:type>
            <maml:name>String[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>PassThru</maml:name>
          <maml:description>
            <maml:para>Optional. Displays UserPrincipalName of removed objects.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Optional. Will also sever all associations this account has in order to remove it If not provided and the Account is connected to a Call Queue or Auto Attendant, an error will be displayed</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi">
          <maml:name>WhatIf</maml:name>
          <maml:description>
            <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf">
          <maml:name>Confirm</maml:name>
          <maml:description>
            <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases="Identity, ObjectId">
        <maml:name>UserPrincipalName</maml:name>
        <maml:description>
          <maml:para>Required. Identifies the Object being changed</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
        <dev:type>
          <maml:name>String[]</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>PassThru</maml:name>
        <maml:description>
          <maml:para>Optional. Displays UserPrincipalName of removed objects.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>Force</maml:name>
        <maml:description>
          <maml:para>Optional. Will also sever all associations this account has in order to remove it If not provided and the Account is connected to a Call Queue or Auto Attendant, an error will be displayed</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi">
        <maml:name>WhatIf</maml:name>
        <maml:description>
          <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf">
        <maml:name>Confirm</maml:name>
        <maml:description>
          <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.String</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Void - Default Behavior</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object - With Switch PassThru</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>Execution requires User Admin Role in Azure AD</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>Remove-TeamsResourceAccount -UserPrincipalName "Resource Account@TenantName.onmicrosoft.com"</dev:code>
        <dev:remarks>
          <maml:para>Removes a ResourceAccount Removes in order: Phone Number, License and Account</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title>
        <dev:code>Remove-TeamsResourceAccount -UserPrincipalName AA-Mainline@TenantName.onmicrosoft.com" -Force</dev:code>
        <dev:remarks>
          <maml:para>Removes a ResourceAccount Removes in order: Association, Phone Number, License and Account</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Remove-TeamsResourceAccount.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Remove-TeamsResourceAccount.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_TeamsResourceAccount.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_TeamsResourceAccount.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Remove-TeamsResourceAccountAssociation</command:name>
      <command:verb>Remove</command:verb>
      <command:noun>TeamsResourceAccountAssociation</command:noun>
      <maml:description>
        <maml:para>Removes the connection between a Resource Account and a CQ or AA</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Removes an associated Resource Account from a Call Queue or Auto Attendant</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Remove-TeamsResourceAccountAssociation</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases="ObjectId, Identity">
          <maml:name>UserPrincipalName</maml:name>
          <maml:description>
            <maml:para>Required. UPN(s) of the Resource Account(s) to be removed from a Call Queue or AutoAttendant</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
          <dev:type>
            <maml:name>String[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Optional. Suppresses Confirmation dialog if -Confirm is not provided</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>PassThru</maml:name>
          <maml:description>
            <maml:para>Optional. Displays Object after removal of association.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi">
          <maml:name>WhatIf</maml:name>
          <maml:description>
            <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf">
          <maml:name>Confirm</maml:name>
          <maml:description>
            <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases="ObjectId, Identity">
        <maml:name>UserPrincipalName</maml:name>
        <maml:description>
          <maml:para>Required. UPN(s) of the Resource Account(s) to be removed from a Call Queue or AutoAttendant</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
        <dev:type>
          <maml:name>String[]</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>Force</maml:name>
        <maml:description>
          <maml:para>Optional. Suppresses Confirmation dialog if -Confirm is not provided</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>PassThru</maml:name>
        <maml:description>
          <maml:para>Optional. Displays Object after removal of association.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi">
        <maml:name>WhatIf</maml:name>
        <maml:description>
          <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf">
        <maml:name>Confirm</maml:name>
        <maml:description>
          <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.String</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Void - Default Behavior</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object - With Switch PassThru</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>Does the same as Remove-CsOnlineApplicationInstanceAssociation, but with friendly Names General notes</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>Remove-TeamsResourceAccountAssociation -UserPrincipalName ResourceAccount@domain.com</dev:code>
        <dev:remarks>
          <maml:para>Removes the Association of the Account 'ResourceAccount@domain.com' from the identified Call Queue or Auto Attendant</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Remove-TeamsResourceAccountAssociation.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Remove-TeamsResourceAccountAssociation.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_TeamsResourceAccount.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_TeamsResourceAccount.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Remove-TeamsUserVoiceConfig</command:name>
      <command:verb>Remove</command:verb>
      <command:noun>TeamsUserVoiceConfig</command:noun>
      <maml:description>
        <maml:para>Removes existing Voice Configuration for one or more Users</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>De-provisions a user from Enterprise Voice, removes the Telephone Number, Tenant Dial Plan and Voice Routing Policy</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Remove-TeamsUserVoiceConfig</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases="ObjectId, Identity">
          <maml:name>UserPrincipalName</maml:name>
          <maml:description>
            <maml:para>Required. UserPrincipalName of the User.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
          <dev:type>
            <maml:name>String[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Scope</maml:name>
          <maml:description>
            <maml:para>Optional. Default is "All". Definition of Scope for removal of Voice Configuration. Allowed Values are: All, DirectRouting, CallingPlans</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>All</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="DisableEnterpriseVoice">
          <maml:name>DisableEV</maml:name>
          <maml:description>
            <maml:para>Optional. Instructs the Script to also disable the Enterprise Voice enablement of the User By default the switch EnterpriseVoiceEnabled is left as-is. Replication applies when re-enabling EnterPriseVoice. This is useful for migrating already licensed Users between Voice Configurations as it does not impact the User Experience (Dial Pad) EnterpriseVoiceEnabled will be disabled automatically if the PhoneSystem license is removed If enabled, but no valid Voice Configuration is applied, the User will have a dial pad, but will not have an option to use the PhoneSystem.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>PassThru</maml:name>
          <maml:description>
            <maml:para>Optional. Displays Object after action.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Optional. Suppresses Confirmation for license Removal unless -Confirm is specified explicitly.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi">
          <maml:name>WhatIf</maml:name>
          <maml:description>
            <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf">
          <maml:name>Confirm</maml:name>
          <maml:description>
            <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases="ObjectId, Identity">
        <maml:name>UserPrincipalName</maml:name>
        <maml:description>
          <maml:para>Required. UserPrincipalName of the User.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
        <dev:type>
          <maml:name>String[]</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>Scope</maml:name>
        <maml:description>
          <maml:para>Optional. Default is "All". Definition of Scope for removal of Voice Configuration. Allowed Values are: All, DirectRouting, CallingPlans</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>All</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="DisableEnterpriseVoice">
        <maml:name>DisableEV</maml:name>
        <maml:description>
          <maml:para>Optional. Instructs the Script to also disable the Enterprise Voice enablement of the User By default the switch EnterpriseVoiceEnabled is left as-is. Replication applies when re-enabling EnterPriseVoice. This is useful for migrating already licensed Users between Voice Configurations as it does not impact the User Experience (Dial Pad) EnterpriseVoiceEnabled will be disabled automatically if the PhoneSystem license is removed If enabled, but no valid Voice Configuration is applied, the User will have a dial pad, but will not have an option to use the PhoneSystem.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>PassThru</maml:name>
        <maml:description>
          <maml:para>Optional. Displays Object after action.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>Force</maml:name>
        <maml:description>
          <maml:para>Optional. Suppresses Confirmation for license Removal unless -Confirm is specified explicitly.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi">
        <maml:name>WhatIf</maml:name>
        <maml:description>
          <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf">
        <maml:name>Confirm</maml:name>
        <maml:description>
          <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.String</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Void - Default behaviour</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object - With Switch PassThru</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>Prompting for Confirmation for disabling of EnterpriseVoice For DirectRouting, this Script does not remove any licenses. For CallingPlans it will prompt for Calling Plan licenses to be removed. The EnterpriseVoice flag was deliberately left enabled and can be disabled with the Switch -DisableEv. This is to enable a User to receive a new Voice Configuration without impacting their experience (dial pad).</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>Remove-TeamsUserVoiceConfig -UserPrincipalName John@domain.com [-Scope All]</dev:code>
        <dev:remarks>
          <maml:para>Disables John for Enterprise Voice, then removes all Phone Numbers, Voice Routing Policy, Tenant Dial Plan and Call Plan licenses</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title>
        <dev:code>Remove-TeamsUserVoiceConfig -UserPrincipalName John@domain.com -Scope DirectRouting</dev:code>
        <dev:remarks>
          <maml:para>Disables John for Enterprise Voice, Removes Phone Number, Voice Routing Policy and Tenant Dial Plan if assigned</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 3 --------------------------</maml:title>
        <dev:code>Remove-TeamsUserVoiceConfig -UserPrincipalName John@domain.com -Scope CallingPlans [-Confirm]</dev:code>
        <dev:remarks>
          <maml:para>Disables John for Enterprise Voice, Removes Phone Number and subsequently removes all Call Plan Licenses assigned Prompts for Confirmation before removing Call Plan licenses</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 4 --------------------------</maml:title>
        <dev:code>Remove-TeamsUserVoiceConfig -UserPrincipalName John@domain.com -Scope CallingPlans -Force</dev:code>
        <dev:remarks>
          <maml:para>Disables John for Enterprise Voice, Removes Phone Number and subsequently removes all Call Plan Licenses assigned Does not prompt for Confirmation (unless -Confirm is specified explicitly)</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Remove-TeamsUserVoiceConfig.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Remove-TeamsUserVoiceConfig.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_VoiceConfiguration.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_VoiceConfiguration.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://docs.microsoft.com/en-us/microsoftteams/direct-routing-migrating</maml:linkText>
        <maml:uri>https://docs.microsoft.com/en-us/microsoftteams/direct-routing-migrating</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Remove-TeamsVoiceNormalizationRule</command:name>
      <command:verb>Remove</command:verb>
      <command:noun>TeamsVoiceNormalizationRule</command:noun>
      <maml:description>
        <maml:para>Removes Normalization Rules by Name and its Tenant Dial Plan (Parent) or a specific Identity</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Remove-CsVoiceNormalizationRule is deprecated (removed) in MicrosoftTeams v4. This Cmdlet tries to alleviate this. Accepts the Identity (in the format "Dial Plan\NormalizationRule") or the Tenant Dial Plan Name (its Parent), and the Normalization Rule Name itself (Name). Wildcards are disallowed to perform clean removals.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Remove-TeamsVoiceNormalizationRule</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases="none">
          <maml:name>Identity</maml:name>
          <maml:description>
            <maml:para>String. Name or part of the Normalization Rule in the format "&lt;Teams Dial Plan&gt;\&lt;Normalization Rule Name&gt;". Required for ParameterSet Identity.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
          <dev:type>
            <maml:name>String[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi">
          <maml:name>WhatIf</maml:name>
          <maml:description>
            <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf">
          <maml:name>Confirm</maml:name>
          <maml:description>
            <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <command:syntaxItem>
        <maml:name>Remove-TeamsVoiceNormalizationRule</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none">
          <maml:name>Parent</maml:name>
          <maml:description>
            <maml:para>String. Name or part of the Teams Dial Plan. Required for ParameterSet Parent.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none">
          <maml:name>Name</maml:name>
          <maml:description>
            <maml:para>String. Name or part of the Normalization Rule. Required for ParameterSet Parent</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi">
          <maml:name>WhatIf</maml:name>
          <maml:description>
            <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf">
          <maml:name>Confirm</maml:name>
          <maml:description>
            <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases="none">
        <maml:name>Identity</maml:name>
        <maml:description>
          <maml:para>String. Name or part of the Normalization Rule in the format "&lt;Teams Dial Plan&gt;\&lt;Normalization Rule Name&gt;". Required for ParameterSet Identity.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
        <dev:type>
          <maml:name>String[]</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none">
        <maml:name>Parent</maml:name>
        <maml:description>
          <maml:para>String. Name or part of the Teams Dial Plan. Required for ParameterSet Parent.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none">
        <maml:name>Name</maml:name>
        <maml:description>
          <maml:para>String. Name or part of the Normalization Rule. Required for ParameterSet Parent</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi">
        <maml:name>WhatIf</maml:name>
        <maml:description>
          <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf">
        <maml:name>Confirm</maml:name>
        <maml:description>
          <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.String</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>None</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>Remove-TeamsVoiceNormalizationRule -Identity DP-HUN\HUN-International</dev:code>
        <dev:remarks>
          <maml:para>Removes Voice Normalisation Rule "HUN-International" from the Tenant Dial Plan DP-HUN. String. Identity of the Normalization Rule in the format "&lt;Teams Dial Plan&gt;\&lt;Normalization Rule Name&gt;".</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title>
        <dev:code>Remove-TeamsVoiceNormalizationRule -Identity DP-HUN -Name HUN-International</dev:code>
        <dev:remarks>
          <maml:para>Removes Voice Normalisation Rule "HUN-International" from the Tenant Dial Plan DP-HUN.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Remove-TeamsVoiceNormalizationRule.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Remove-TeamsVoiceNormalizationRule.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_VoiceConfiguration.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_VoiceConfiguration.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_Supporting_Functions.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_Supporting_Functions.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Remove-TeamsVoiceRoutingChain</command:name>
      <command:verb>Remove</command:verb>
      <command:noun>TeamsVoiceRoutingChain</command:noun>
      <maml:description>
        <maml:para>Removes an Online Voice Routing Policy and all associated Objects dependent on configuration</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Determines whether an Online Voice Routing Policy is used and its associated Objects (Online Pstn Usage &amp; Online Voice Routes) Will determine an action plan: If the determined Voice Route(s) is not used in other Pstn Usages will prompt to remove the Voice Route If the determined Pstn Usage is not used elsewhere, will remove the Usage from the Voice Route and the Policy If the Voice Policy is used (assigned to Users) will prompt for confirmation (unless overridden with Force) If consent is given, will attempt to remove the whole assignment chain.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Remove-TeamsVoiceRoutingChain</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="1" aliases="Name">
          <maml:name>Identity</maml:name>
          <maml:description>
            <maml:para>String. Identifying the Online Voice Routing Policy Required to identify the correct OVP and start the determination chain</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
          <dev:type>
            <maml:name>String[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Switch. If used, will suppress confirmation dialogs to warn of "Policy is in use". Handle with care!</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi">
          <maml:name>WhatIf</maml:name>
          <maml:description>
            <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf">
          <maml:name>Confirm</maml:name>
          <maml:description>
            <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="1" aliases="Name">
        <maml:name>Identity</maml:name>
        <maml:description>
          <maml:para>String. Identifying the Online Voice Routing Policy Required to identify the correct OVP and start the determination chain</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
        <dev:type>
          <maml:name>String[]</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>Force</maml:name>
        <maml:description>
          <maml:para>Switch. If used, will suppress confirmation dialogs to warn of "Policy is in use". Handle with care!</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi">
        <maml:name>WhatIf</maml:name>
        <maml:description>
          <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf">
        <maml:name>Confirm</maml:name>
        <maml:description>
          <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.String</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Void</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>General notes</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>Remove-TeamsVoiceRoutingChain -Identity "OVP-AMER-GSIP-MX"</dev:code>
        <dev:remarks>
          <maml:para>Queries the Online Voice Routing Policy OVP-AMER-GSIP-MX and determines its usage (assignment to User Object) Determines Pstn Usages nested in this Policy and Voice Routes that reference this Pstn Usage. Provided a Unique assignment chain is found, the Policy, PstnUsage &amp; corresponding Routes are then removed.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title>
        <dev:code>Remove-TeamsVoiceRoutingChain -Identity "OVP-AMER-GSIP-MX" -Force</dev:code>
        <dev:remarks>
          <maml:para>Queries the Online Voice Routing Policy OVP-AMER-GSIP-MX and determines its usage (assignment to User Object) If the Policy is still in use, no query is presented, but only a warning is displayed. Determines Pstn Usages nested in this Policy and Voice Routes that reference this Pstn Usage. Provided a Unique assignment chain is found, the Policy, PstnUsage &amp; corresponding Routes are then removed.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Remove-TeamsVoiceRoutingChain.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Remove-TeamsVoiceRoutingChain.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_VoiceConfiguration.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_VoiceConfiguration.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Restore-TeamsEV</command:name>
      <command:verb>Restore</command:verb>
      <command:noun>TeamsEV</command:noun>
      <maml:description>
        <maml:para>A script to automatically restore a backed-up Teams Enterprise Voice configuration.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>A script to automatically restore a backed-up Teams Enterprise Voice configuration. Requires a backup run using Backup-TeamsEV.ps1 in the same directory as the script. Will restore the following items: - Dialplans and associated normalization rules</maml:para>
      <maml:para>- Voice routes</maml:para>
      <maml:para>- Voice routing policies</maml:para>
      <maml:para>- PSTN usages</maml:para>
      <maml:para>- Outbound translation rules</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Restore-TeamsEV</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases="none">
          <maml:name>File</maml:name>
          <maml:description>
            <maml:para>REQUIRED. Path to the zip file containing the backed up Teams EV config to restore</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
          <maml:name>OverrideAdminDomain</maml:name>
          <maml:description>
            <maml:para>OPTIONAL: The FQDN your Office365 tenant. Use if your admin account is not in the same domain as your tenant (ie. doesn't use a @tenantname.onmicrosoft.com address)</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>KeepExisting</maml:name>
          <maml:description>
            <maml:para>OPTIONAL. Will not erase existing Enterprise Voice configuration before restoring.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi">
          <maml:name>WhatIf</maml:name>
          <maml:description>
            <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf">
          <maml:name>Confirm</maml:name>
          <maml:description>
            <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases="none">
        <maml:name>File</maml:name>
        <maml:description>
          <maml:para>REQUIRED. Path to the zip file containing the backed up Teams EV config to restore</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>KeepExisting</maml:name>
        <maml:description>
          <maml:para>OPTIONAL. Will not erase existing Enterprise Voice configuration before restoring.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
        <maml:name>OverrideAdminDomain</maml:name>
        <maml:description>
          <maml:para>OPTIONAL: The FQDN your Office365 tenant. Use if your admin account is not in the same domain as your tenant (ie. doesn't use a @tenantname.onmicrosoft.com address)</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi">
        <maml:name>WhatIf</maml:name>
        <maml:description>
          <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf">
        <maml:name>Confirm</maml:name>
        <maml:description>
          <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.File</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>Version 1.10 Build: Feb 04, 2020</maml:para>
        <maml:para>Copyright © 2020 Ken Lasko klasko@ucdialplans.com https://www.ucdialplans.com</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>Restore-TeamsEV -File C:\Temp\Backup.ZIP</dev:code>
        <dev:remarks>
          <maml:para>Restores the Teams Enterprise Voice Configuration from Backup.ZIP file.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Restore-TeamsEV.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Restore-TeamsEV.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_Supporting_Functions.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_Supporting_Functions.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Set-AzureAdUserLicenseServicePlan</command:name>
      <command:verb>Set</command:verb>
      <command:noun>AzureAdUserLicenseServicePlan</command:noun>
      <maml:description>
        <maml:para>Changes one or more Service Plans for Licenses assigned to an AzureAD Object</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Enables or disables a ServicePlan from all assigned Licenses to an AzureAD Object Supports all Service Plans listed in Get-AzureAdLicenseServicePlan</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Set-AzureAdUserLicenseServicePlan</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases="ObjectId, Identity">
          <maml:name>UserPrincipalName</maml:name>
          <maml:description>
            <maml:para>The UserPrincipalName, ObjectId or Identity of the Object.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
          <dev:type>
            <maml:name>String[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Enable</maml:name>
          <maml:description>
            <maml:para>Optional. Service Plans to be enabled (main function) Accepted Values are available with Intellisense and can be retrieved with Get-AzureAdLicenseServicePlan (Column ServicePlanName) No action is taken for any Licenses not containing this Service Plan</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
          <dev:type>
            <maml:name>String[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Disable</maml:name>
          <maml:description>
            <maml:para>Optional. Service Plans to be disabled (alternative function) Accepted Values are available with Intellisense and can be retrieved with Get-AzureAdLicenseServicePlan (Column ServicePlanName) No action is taken for any Licenses not containing this Service Plan</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
          <dev:type>
            <maml:name>String[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>PassThru</maml:name>
          <maml:description>
            <maml:para>Optional. Displays User License Object after action.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi">
          <maml:name>WhatIf</maml:name>
          <maml:description>
            <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf">
          <maml:name>Confirm</maml:name>
          <maml:description>
            <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases="ObjectId, Identity">
        <maml:name>UserPrincipalName</maml:name>
        <maml:description>
          <maml:para>The UserPrincipalName, ObjectId or Identity of the Object.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
        <dev:type>
          <maml:name>String[]</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>Enable</maml:name>
        <maml:description>
          <maml:para>Optional. Service Plans to be enabled (main function) Accepted Values are available with Intellisense and can be retrieved with Get-AzureAdLicenseServicePlan (Column ServicePlanName) No action is taken for any Licenses not containing this Service Plan</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
        <dev:type>
          <maml:name>String[]</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>Disable</maml:name>
        <maml:description>
          <maml:para>Optional. Service Plans to be disabled (alternative function) Accepted Values are available with Intellisense and can be retrieved with Get-AzureAdLicenseServicePlan (Column ServicePlanName) No action is taken for any Licenses not containing this Service Plan</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
        <dev:type>
          <maml:name>String[]</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>PassThru</maml:name>
        <maml:description>
          <maml:para>Optional. Displays User License Object after action.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi">
        <maml:name>WhatIf</maml:name>
        <maml:description>
          <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf">
        <maml:name>Confirm</maml:name>
        <maml:description>
          <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.String</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Void - Default Behavior</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object - With Switch PassThru</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>Data in Get-AzureAdLicenseServicePlan as per Microsoft Docs Article: Published Service Plan IDs for Licensing https://docs.microsoft.com/en-us/azure/active-directory/users-groups-roles/licensing-service-plan-reference#service-plans-that-cannot-be-assigned-at-the-same-time</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>Set-AzureAdUserLicenseServicePlan [-UserPrincipalName] Name@domain.com -Enable MCOEV</dev:code>
        <dev:remarks>
          <maml:para>Enables the Service Plan Phone System (MCOEV) on all Licenses assigned to Name@domain.com</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title>
        <dev:code>Set-AzureAdUserLicenseServicePlan -UserPrincipalName Name@domain.com -Disable MCOEV,TEAMS1</dev:code>
        <dev:remarks>
          <maml:para>Disables the Service Plans Phone System (MCOEV) and Teams (TEAMS1) on all Licenses assigned to Name@domain.com</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 3 --------------------------</maml:title>
        <dev:code>Set-AzureAdUserLicenseServicePlan -UserPrincipalName Name@domain.com -Enable MCOEV,TEAMS1 -PassThru</dev:code>
        <dev:remarks>
          <maml:para>Enables the Service Plans Phone System (MCOEV) and Teams (TEAMS1) on all Licenses assigned to Name@domain.com Displays User License Object after application</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Set-AzureAdUserLicenseServicePlan.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Set-AzureAdUserLicenseServicePlan.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_Licensing.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_Licensing.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_UserManagement.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_UserManagement.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Set-TeamsCallQueue</command:name>
      <command:verb>Set</command:verb>
      <command:noun>TeamsCallQueue</command:noun>
      <maml:description>
        <maml:para>Set-CsCallQueue with UPNs instead of IDs</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Does all the same things that Set-CsCallQueue does, but differs in a few significant respects: UserPrincipalNames can be provided instead of IDs, FileNames (FullName) can be provided instead of IDs File Import is handled by this Script Set-CsCallQueue is used to apply parameters dependent on specification. Partial implementation is possible, output will show differences.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Set-TeamsCallQueue</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases="none">
          <maml:name>Name</maml:name>
          <maml:description>
            <maml:para>Required. Friendly Name of the Call Queue. Used to Identify the Object</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>DisplayName</maml:name>
          <maml:description>
            <maml:para>Optional. Updates the Name of the Call Queue. Name will be normalised (unsuitable characters are filtered)</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>AgentAlertTime</maml:name>
          <maml:description>
            <maml:para>Optional. Time in Seconds to alert each agent. Works depending on Routing method Size AgentAlertTime and TimeoutThreshold depending on Routing method and # of Agents available.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Int16</command:parameterValue>
          <dev:type>
            <maml:name>Int16</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>AllowOptOut</maml:name>
          <maml:description>
            <maml:para>Optional Switch. Allows Agents to Opt out of receiving calls from the Call Queue</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Boolean</command:parameterValue>
          <dev:type>
            <maml:name>Boolean</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="OA">
          <maml:name>OverflowAction</maml:name>
          <maml:description>
            <maml:para>Optional. Action to be taken if the Queue size limit (OverflowThreshold) is reached Forward requires specification of OverflowActionTarget Default: DisconnectWithBusy, Values: DisconnectWithBusy, Forward, VoiceMail, SharedVoiceMail</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="OAT">
          <maml:name>OverflowActionTarget</maml:name>
          <maml:description>
            <maml:para>Situational. Required only if OverflowAction is not DisconnectWithBusy UserPrincipalName of the Target</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="OfSVmTTS">
          <maml:name>OverflowSharedVoicemailTextToSpeechPrompt</maml:name>
          <maml:description>
            <maml:para>Situational. Text to be read for a Shared Voicemail greeting. Requires LanguageId Required if OverflowAction is SharedVoicemail and OverflowSharedVoicemailAudioFile is $null</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="OfVMFile">
          <maml:name>OverflowSharedVoicemailAudioFile</maml:name>
          <maml:description>
            <maml:para>Situational. Path to the Audio File for a Shared Voicemail greeting Required if OverflowAction is SharedVoicemail and OverflowSharedVoicemailTextToSpeechPrompt is $null</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="TranscribeOfVm">
          <maml:name>EnableOverflowSharedVoicemailTranscription</maml:name>
          <maml:description>
            <maml:para>Situational. Boolean Switch. Requires specification of LanguageId Enables a transcription of the Voicemail message to be sent to the Group mailbox</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Boolean</command:parameterValue>
          <dev:type>
            <maml:name>Boolean</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="OfThreshold, OfQueueLength">
          <maml:name>OverflowThreshold</maml:name>
          <maml:description>
            <maml:para>Optional. Time in Seconds for the OverflowAction to trigger</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Int16</command:parameterValue>
          <dev:type>
            <maml:name>Int16</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="TA">
          <maml:name>TimeoutAction</maml:name>
          <maml:description>
            <maml:para>Optional. Action to be taken if the TimeoutThreshold is reached Forward requires specification of TimeoutActionTarget Default: Disconnect, Values: Disconnect, Forward, VoiceMail, SharedVoiceMail</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="TAT">
          <maml:name>TimeoutActionTarget</maml:name>
          <maml:description>
            <maml:para>Situational. Required only if TimeoutAction is not Disconnect UserPrincipalName of the Target</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="ToSVmTTS">
          <maml:name>TimeoutSharedVoicemailTextToSpeechPrompt</maml:name>
          <maml:description>
            <maml:para>Situational. Text to be read for a Shared Voicemail greeting. Requires LanguageId Required if TimeoutAction is SharedVoicemail and TimeoutSharedVoicemailAudioFile is $null</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="ToVMFile">
          <maml:name>TimeoutSharedVoicemailAudioFile</maml:name>
          <maml:description>
            <maml:para>Situational. Path to the Audio File for a Shared Voicemail greeting Required if TimeoutAction is SharedVoicemail and TimeoutSharedVoicemailTextToSpeechPrompt is $null</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="TranscribeToVm">
          <maml:name>EnableTimeoutSharedVoicemailTranscription</maml:name>
          <maml:description>
            <maml:para>Situational. Boolean Switch. Requires specification of LanguageId Enables a transcription of the Voicemail message to be sent to the Group mailbox</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Boolean</command:parameterValue>
          <dev:type>
            <maml:name>Boolean</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="ToThreshold">
          <maml:name>TimeoutThreshold</maml:name>
          <maml:description>
            <maml:para>Optional. Time in Seconds for the TimeoutAction to trigger</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Int16</command:parameterValue>
          <dev:type>
            <maml:name>Int16</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>RoutingMethod</maml:name>
          <maml:description>
            <maml:para>Optional. Describes how the Call Queue is hunting for an Agent. Serial will Alert them one by one in order specified (Distribution lists will contact alphabethically) Attendant behaves like Parallel if PresenceBasedRouting is used. Default: Attendant, Values: Attendant, Serial, RoundRobin, LongestIdle</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>Attendant</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>PresenceBasedRouting</maml:name>
          <maml:description>
            <maml:para>Optional. Default: FALSE. If used alerts Agents only when they are available (Teams status).</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Boolean</command:parameterValue>
          <dev:type>
            <maml:name>Boolean</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>UseDefaultMusicOnHold</maml:name>
          <maml:description>
            <maml:para>Optional Switch. Indicates whether the default Music On Hold should be used.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Boolean</command:parameterValue>
          <dev:type>
            <maml:name>Boolean</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>ConferenceMode</maml:name>
          <maml:description>
            <maml:para>Optional. Will establish a conference instead of a direct call and should help with connection time. Default: TRUE, Microsoft Default: FALSE</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Boolean</command:parameterValue>
          <dev:type>
            <maml:name>Boolean</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="WelcomeMessage, WelcomeMusicTextToSpeechPrompt, WelcomeMusicAudioFile">
          <maml:name>Greeting</maml:name>
          <maml:description>
            <maml:para>Optional. Text-To-Voice String or Path to Audio File to be used as a Welcome message Accepted Text-To-Voice Strings: Minimum 10, Maximum 1000 characters. Accepted Audio File Formats: MP3, WAV or WMA format, max 5MB</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>MusicOnHoldAudioFile</maml:name>
          <maml:description>
            <maml:para>Optional. Path to Audio File to be used as Music On Hold. Accepted Formats: MP3, WAV or WMA, max 5MB</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>DistributionLists</maml:name>
          <maml:description>
            <maml:para>Optional. Display Names of DistributionLists or Groups. Their members are to become Agents in the Queue. Mutually exclusive with TeamAndChannel. Can be combined with Users. Will be parsed after Users if they are specified as well. To be considered for calls, members of the DistributionsLists must be Enabled for Enterprise Voice.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
          <dev:type>
            <maml:name>String[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Users</maml:name>
          <maml:description>
            <maml:para>Optional. UserPrincipalNames of Users that are to become Agents in the Queue. Mutually exclusive with TeamAndChannel. Can be combined with DistributionLists. Will be parsed first. Order is only important if Serial Routing is desired (See Parameter RoutingMethod) Users are only added if they have a PhoneSystem license and are or can be enabled for Enterprise Voice.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
          <dev:type>
            <maml:name>String[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>ResourceAccountsForCallerId</maml:name>
          <maml:description>
            <maml:para>Optional. Resource Account to be used for allowing Agents to use its number as a Caller Id.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
          <dev:type>
            <maml:name>String[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>ChannelOwner</maml:name>
          <maml:description>
            <maml:para>Optional. UserPrincipalName of a owner for the Channel. Unknown use-case right now. Feeds Parameter ChannelOwnerObjectId Users are only added if they have a PhoneSystem license and are or can be enabled for Enterprise Voice.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>TeamAndChannel</maml:name>
          <maml:description>
            <maml:para>Optional. Uses a Channel to route calls to. Members of the Channel become Agents in the Queue. Mutually exclusive with Users and DistributionLists. Acceptable format for Team and Channel is "TeamIdentifier\ChannelIdentifier". Acceptable Identifier for Teams are GroupId (GUID) or DisplayName. NOTE: DisplayName may not be unique. Acceptable Identifier for Channels are Id (GUID) or DisplayName.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>LanguageId</maml:name>
          <maml:description>
            <maml:para>Optional Language Identifier indicating 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.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>AuthorizedUsers</maml:name>
          <maml:description>
            <maml:para>Optional. Users allowed to change certain aspects of the Call Queue (like Greetings or AudioFiles) These settings are governed by the assigned CsTeamsVoiceApplicationsPolicy (assigned to the User)</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
          <dev:type>
            <maml:name>String[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>PassThru</maml:name>
          <maml:description>
            <maml:para>By default, no output is generated, PassThru will display the Object changed</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Suppresses confirmation prompt to enable Users for Enterprise Voice, if Users are specified Currently no other impact</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi">
          <maml:name>WhatIf</maml:name>
          <maml:description>
            <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf">
          <maml:name>Confirm</maml:name>
          <maml:description>
            <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="1" aliases="none">
        <maml:name>Name</maml:name>
        <maml:description>
          <maml:para>Required. Friendly Name of the Call Queue. Used to Identify the Object</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>DisplayName</maml:name>
        <maml:description>
          <maml:para>Optional. Updates the Name of the Call Queue. Name will be normalised (unsuitable characters are filtered)</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>AgentAlertTime</maml:name>
        <maml:description>
          <maml:para>Optional. Time in Seconds to alert each agent. Works depending on Routing method Size AgentAlertTime and TimeoutThreshold depending on Routing method and # of Agents available.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Int16</command:parameterValue>
        <dev:type>
          <maml:name>Int16</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>0</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>AllowOptOut</maml:name>
        <maml:description>
          <maml:para>Optional Switch. Allows Agents to Opt out of receiving calls from the Call Queue</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Boolean</command:parameterValue>
        <dev:type>
          <maml:name>Boolean</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="OA">
        <maml:name>OverflowAction</maml:name>
        <maml:description>
          <maml:para>Optional. Action to be taken if the Queue size limit (OverflowThreshold) is reached Forward requires specification of OverflowActionTarget Default: DisconnectWithBusy, Values: DisconnectWithBusy, Forward, VoiceMail, SharedVoiceMail</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="OAT">
        <maml:name>OverflowActionTarget</maml:name>
        <maml:description>
          <maml:para>Situational. Required only if OverflowAction is not DisconnectWithBusy UserPrincipalName of the Target</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="OfSVmTTS">
        <maml:name>OverflowSharedVoicemailTextToSpeechPrompt</maml:name>
        <maml:description>
          <maml:para>Situational. Text to be read for a Shared Voicemail greeting. Requires LanguageId Required if OverflowAction is SharedVoicemail and OverflowSharedVoicemailAudioFile is $null</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="OfVMFile">
        <maml:name>OverflowSharedVoicemailAudioFile</maml:name>
        <maml:description>
          <maml:para>Situational. Path to the Audio File for a Shared Voicemail greeting Required if OverflowAction is SharedVoicemail and OverflowSharedVoicemailTextToSpeechPrompt is $null</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="TranscribeOfVm">
        <maml:name>EnableOverflowSharedVoicemailTranscription</maml:name>
        <maml:description>
          <maml:para>Situational. Boolean Switch. Requires specification of LanguageId Enables a transcription of the Voicemail message to be sent to the Group mailbox</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Boolean</command:parameterValue>
        <dev:type>
          <maml:name>Boolean</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="OfThreshold, OfQueueLength">
        <maml:name>OverflowThreshold</maml:name>
        <maml:description>
          <maml:para>Optional. Time in Seconds for the OverflowAction to trigger</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Int16</command:parameterValue>
        <dev:type>
          <maml:name>Int16</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>0</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="TA">
        <maml:name>TimeoutAction</maml:name>
        <maml:description>
          <maml:para>Optional. Action to be taken if the TimeoutThreshold is reached Forward requires specification of TimeoutActionTarget Default: Disconnect, Values: Disconnect, Forward, VoiceMail, SharedVoiceMail</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="TAT">
        <maml:name>TimeoutActionTarget</maml:name>
        <maml:description>
          <maml:para>Situational. Required only if TimeoutAction is not Disconnect UserPrincipalName of the Target</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="ToSVmTTS">
        <maml:name>TimeoutSharedVoicemailTextToSpeechPrompt</maml:name>
        <maml:description>
          <maml:para>Situational. Text to be read for a Shared Voicemail greeting. Requires LanguageId Required if TimeoutAction is SharedVoicemail and TimeoutSharedVoicemailAudioFile is $null</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="ToVMFile">
        <maml:name>TimeoutSharedVoicemailAudioFile</maml:name>
        <maml:description>
          <maml:para>Situational. Path to the Audio File for a Shared Voicemail greeting Required if TimeoutAction is SharedVoicemail and TimeoutSharedVoicemailTextToSpeechPrompt is $null</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="TranscribeToVm">
        <maml:name>EnableTimeoutSharedVoicemailTranscription</maml:name>
        <maml:description>
          <maml:para>Situational. Boolean Switch. Requires specification of LanguageId Enables a transcription of the Voicemail message to be sent to the Group mailbox</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Boolean</command:parameterValue>
        <dev:type>
          <maml:name>Boolean</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="ToThreshold">
        <maml:name>TimeoutThreshold</maml:name>
        <maml:description>
          <maml:para>Optional. Time in Seconds for the TimeoutAction to trigger</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Int16</command:parameterValue>
        <dev:type>
          <maml:name>Int16</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>0</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>RoutingMethod</maml:name>
        <maml:description>
          <maml:para>Optional. Describes how the Call Queue is hunting for an Agent. Serial will Alert them one by one in order specified (Distribution lists will contact alphabethically) Attendant behaves like Parallel if PresenceBasedRouting is used. Default: Attendant, Values: Attendant, Serial, RoundRobin, LongestIdle</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>Attendant</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>PresenceBasedRouting</maml:name>
        <maml:description>
          <maml:para>Optional. Default: FALSE. If used alerts Agents only when they are available (Teams status).</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Boolean</command:parameterValue>
        <dev:type>
          <maml:name>Boolean</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>UseDefaultMusicOnHold</maml:name>
        <maml:description>
          <maml:para>Optional Switch. Indicates whether the default Music On Hold should be used.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Boolean</command:parameterValue>
        <dev:type>
          <maml:name>Boolean</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>ConferenceMode</maml:name>
        <maml:description>
          <maml:para>Optional. Will establish a conference instead of a direct call and should help with connection time. Default: TRUE, Microsoft Default: FALSE</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Boolean</command:parameterValue>
        <dev:type>
          <maml:name>Boolean</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="WelcomeMessage, WelcomeMusicTextToSpeechPrompt, WelcomeMusicAudioFile">
        <maml:name>Greeting</maml:name>
        <maml:description>
          <maml:para>Optional. Text-To-Voice String or Path to Audio File to be used as a Welcome message Accepted Text-To-Voice Strings: Minimum 10, Maximum 1000 characters. Accepted Audio File Formats: MP3, WAV or WMA format, max 5MB</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>MusicOnHoldAudioFile</maml:name>
        <maml:description>
          <maml:para>Optional. Path to Audio File to be used as Music On Hold. Accepted Formats: MP3, WAV or WMA, max 5MB</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>DistributionLists</maml:name>
        <maml:description>
          <maml:para>Optional. Display Names of DistributionLists or Groups. Their members are to become Agents in the Queue. Mutually exclusive with TeamAndChannel. Can be combined with Users. Will be parsed after Users if they are specified as well. To be considered for calls, members of the DistributionsLists must be Enabled for Enterprise Voice.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
        <dev:type>
          <maml:name>String[]</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>Users</maml:name>
        <maml:description>
          <maml:para>Optional. UserPrincipalNames of Users that are to become Agents in the Queue. Mutually exclusive with TeamAndChannel. Can be combined with DistributionLists. Will be parsed first. Order is only important if Serial Routing is desired (See Parameter RoutingMethod) Users are only added if they have a PhoneSystem license and are or can be enabled for Enterprise Voice.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
        <dev:type>
          <maml:name>String[]</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>ResourceAccountsForCallerId</maml:name>
        <maml:description>
          <maml:para>Optional. Resource Account to be used for allowing Agents to use its number as a Caller Id.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
        <dev:type>
          <maml:name>String[]</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>ChannelOwner</maml:name>
        <maml:description>
          <maml:para>Optional. UserPrincipalName of a owner for the Channel. Unknown use-case right now. Feeds Parameter ChannelOwnerObjectId Users are only added if they have a PhoneSystem license and are or can be enabled for Enterprise Voice.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>TeamAndChannel</maml:name>
        <maml:description>
          <maml:para>Optional. Uses a Channel to route calls to. Members of the Channel become Agents in the Queue. Mutually exclusive with Users and DistributionLists. Acceptable format for Team and Channel is "TeamIdentifier\ChannelIdentifier". Acceptable Identifier for Teams are GroupId (GUID) or DisplayName. NOTE: DisplayName may not be unique. Acceptable Identifier for Channels are Id (GUID) or DisplayName.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>LanguageId</maml:name>
        <maml:description>
          <maml:para>Optional Language Identifier indicating 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.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>AuthorizedUsers</maml:name>
        <maml:description>
          <maml:para>Optional. Users allowed to change certain aspects of the Call Queue (like Greetings or AudioFiles) These settings are governed by the assigned CsTeamsVoiceApplicationsPolicy (assigned to the User)</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
        <dev:type>
          <maml:name>String[]</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>PassThru</maml:name>
        <maml:description>
          <maml:para>By default, no output is generated, PassThru will display the Object changed</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>Force</maml:name>
        <maml:description>
          <maml:para>Suppresses confirmation prompt to enable Users for Enterprise Voice, if Users are specified Currently no other impact</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi">
        <maml:name>WhatIf</maml:name>
        <maml:description>
          <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf">
        <maml:name>Confirm</maml:name>
        <maml:description>
          <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.String</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object or None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>Audio Files, if not found will result in errors being generated. This deviates from the behaviour in New-TeamsCallQueue Greeting - Setting not changed. If set before, this will remain. MusicOnHoldAudioFile - Setting not changed. If set before, this will remain. OverflowSharedVoicemailAudioFile - Setting not changed. OverflowAction will not be changed TimeoutSharedVoicemailAudioFile - Setting not changed. TimeoutAction will not be changed</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>Set-TeamsCallQueue -Name "My Queue" -DisplayName "My new Queue Name"</dev:code>
        <dev:remarks>
          <maml:para>Changes the DisplayName of Call Queue "My Queue" to "My new Queue Name"</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title>
        <dev:code>Set-TeamsCallQueue -Name "My Queue" -UseMicrosoftDefaults</dev:code>
        <dev:remarks>
          <maml:para>Changes the Call Queue "My Queue" to use Microsoft Default Values</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 3 --------------------------</maml:title>
        <dev:code>Set-TeamsCallQueue -Name "My Queue" -OverflowThreshold 5 -TimeoutThreshold 90</dev:code>
        <dev:remarks>
          <maml:para>Changes the Call Queue "My Queue" to overflow with more than 5 Callers waiting and a timeout window of 90s</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 4 --------------------------</maml:title>
        <dev:code>Set-TeamsCallQueue -Name "My Queue" -MusicOnHoldAudioFile C:\Temp\Moh.wav -Greeting C:\Temp\WelcomeMessage.wmv</dev:code>
        <dev:remarks>
          <maml:para>Changes the Call Queue "My Queue" with custom Audio Files</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 5 --------------------------</maml:title>
        <dev:code>Set-TeamsCallQueue -Name "My Queue" -AgentAlertTime 15 -RoutingMethod Serial -AllowOptOut:$false -DistributionLists @(List1@domain.com,List2@domain.com)</dev:code>
        <dev:remarks>
          <maml:para>Changes the Call Queue "My Queue" alerting every Agent nested in Azure AD Groups List1@domain.com and List2@domain.com in sequence for 15s.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 6 --------------------------</maml:title>
        <dev:code>Set-TeamsCallQueue -Name "My Queue" -OverflowAction Forward -OverflowActionTarget SIP@domain.com -TimeoutAction Voicemail</dev:code>
        <dev:remarks>
          <maml:para>Changes the Call Queue "My Queue" forwarding to SIP@domain.com for Overflow and to Voicemail when it times out.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Set-TeamsCallQueue.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Set-TeamsCallQueue.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_TeamsCallQueue.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_TeamsCallQueue.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Set-TeamsCommonAreaPhone</command:name>
      <command:verb>Set</command:verb>
      <command:noun>TeamsCommonAreaPhone</command:noun>
      <maml:description>
        <maml:para>Changes settings for a Common Area Phone</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Applies settings relevant to a Common Area Phone. This includes DisplayName, UsageLocation, License, IP Phone Policy, Calling Policy and Call Park Policy can be applied.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Set-TeamsCommonAreaPhone</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="1" aliases="none">
          <maml:name>Object</maml:name>
          <maml:description>
            <maml:para>Required for Parameterset Object. CsOnlineUser Object passed to the function to reduce query time.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Object[]</command:parameterValue>
          <dev:type>
            <maml:name>Object[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>UsageLocation</maml:name>
          <maml:description>
            <maml:para>Required. Two Digit Country Code of the Location of the entity. Before a License can be assigned, the account needs a Usage Location populated.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>License</maml:name>
          <maml:description>
            <maml:para>Optional. Specifies the License to be assigned: PhoneSystem or PhoneSystem_VirtualUser If not provided, will default to PhoneSystem_VirtualUser Unlicensed Objects can exist, but cannot be assigned a phone number PhoneSystem is an add-on license and cannot be assigned on its own. it has therefore been deactivated for now.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
          <dev:type>
            <maml:name>String[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>IPPhonePolicy</maml:name>
          <maml:description>
            <maml:para>Optional. Adds an IP Phone Policy to the User</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>TeamsCallingPolicy</maml:name>
          <maml:description>
            <maml:para>Optional. Adds a Calling Policy to the User</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>TeamsCallParkPolicy</maml:name>
          <maml:description>
            <maml:para>Optional. Adds a Call Park Policy to the User</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>PassThru</maml:name>
          <maml:description>
            <maml:para>Optional. Displays the Object after execution.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>WriteErrorLog</maml:name>
          <maml:description>
            <maml:para>If Errors are encountered, writes log to C:\Temp</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi">
          <maml:name>WhatIf</maml:name>
          <maml:description>
            <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf">
          <maml:name>Confirm</maml:name>
          <maml:description>
            <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <command:syntaxItem>
        <maml:name>Set-TeamsCommonAreaPhone</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases="ObjectId, Identity">
          <maml:name>UserPrincipalName</maml:name>
          <maml:description>
            <maml:para>Required for Parameterset UserPrincipalName. UserPrincipalName of a CsOnlineUser Object to be provisioned.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
          <dev:type>
            <maml:name>String[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none">
          <maml:name>DisplayName</maml:name>
          <maml:description>
            <maml:para>Optional for Parameterset UserPrincipalName. The Name it will show up as in Teams. Invalid characters are stripped from the provided string</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>UsageLocation</maml:name>
          <maml:description>
            <maml:para>Required. Two Digit Country Code of the Location of the entity. Before a License can be assigned, the account needs a Usage Location populated.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>License</maml:name>
          <maml:description>
            <maml:para>Optional. Specifies the License to be assigned: PhoneSystem or PhoneSystem_VirtualUser If not provided, will default to PhoneSystem_VirtualUser Unlicensed Objects can exist, but cannot be assigned a phone number PhoneSystem is an add-on license and cannot be assigned on its own. it has therefore been deactivated for now.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
          <dev:type>
            <maml:name>String[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>IPPhonePolicy</maml:name>
          <maml:description>
            <maml:para>Optional. Adds an IP Phone Policy to the User</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>TeamsCallingPolicy</maml:name>
          <maml:description>
            <maml:para>Optional. Adds a Calling Policy to the User</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>TeamsCallParkPolicy</maml:name>
          <maml:description>
            <maml:para>Optional. Adds a Call Park Policy to the User</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>PassThru</maml:name>
          <maml:description>
            <maml:para>Optional. Displays the Object after execution.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>WriteErrorLog</maml:name>
          <maml:description>
            <maml:para>If Errors are encountered, writes log to C:\Temp</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi">
          <maml:name>WhatIf</maml:name>
          <maml:description>
            <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf">
          <maml:name>Confirm</maml:name>
          <maml:description>
            <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="1" aliases="none">
        <maml:name>Object</maml:name>
        <maml:description>
          <maml:para>Required for Parameterset Object. CsOnlineUser Object passed to the function to reduce query time.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Object[]</command:parameterValue>
        <dev:type>
          <maml:name>Object[]</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases="ObjectId, Identity">
        <maml:name>UserPrincipalName</maml:name>
        <maml:description>
          <maml:para>Required for Parameterset UserPrincipalName. UserPrincipalName of a CsOnlineUser Object to be provisioned.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
        <dev:type>
          <maml:name>String[]</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none">
        <maml:name>DisplayName</maml:name>
        <maml:description>
          <maml:para>Optional for Parameterset UserPrincipalName. The Name it will show up as in Teams. Invalid characters are stripped from the provided string</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>UsageLocation</maml:name>
        <maml:description>
          <maml:para>Required. Two Digit Country Code of the Location of the entity. Before a License can be assigned, the account needs a Usage Location populated.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>License</maml:name>
        <maml:description>
          <maml:para>Optional. Specifies the License to be assigned: PhoneSystem or PhoneSystem_VirtualUser If not provided, will default to PhoneSystem_VirtualUser Unlicensed Objects can exist, but cannot be assigned a phone number PhoneSystem is an add-on license and cannot be assigned on its own. it has therefore been deactivated for now.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
        <dev:type>
          <maml:name>String[]</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>IPPhonePolicy</maml:name>
        <maml:description>
          <maml:para>Optional. Adds an IP Phone Policy to the User</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>TeamsCallingPolicy</maml:name>
        <maml:description>
          <maml:para>Optional. Adds a Calling Policy to the User</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>TeamsCallParkPolicy</maml:name>
        <maml:description>
          <maml:para>Optional. Adds a Call Park Policy to the User</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>PassThru</maml:name>
        <maml:description>
          <maml:para>Optional. Displays the Object after execution.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>WriteErrorLog</maml:name>
        <maml:description>
          <maml:para>If Errors are encountered, writes log to C:\Temp</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi">
        <maml:name>WhatIf</maml:name>
        <maml:description>
          <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf">
        <maml:name>Confirm</maml:name>
        <maml:description>
          <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.String</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Void - Default Behaviour</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object - With Switch PassThru</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
      <command:returnValue>
        <dev:type>
          <maml:name>System.File - With Switch WriteErrorLog</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>Execution requires User Admin Role in Azure AD This CmdLet deliberately does not apply a Phone Number to the Object. To do so, please run Set-TeamsPhoneNumber or Set-TeamsUserVoiceConfig for a full Voice Configuration apply a Calling Plan or Online Voice Routing Policy a Phone Number and optionally a Tenant Dial Plan. This Script only covers relevant elements for Common Area Phones themselves.</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>Set-TeamsCommonAreaPhone -UserPrincipalName MyLobbyPhone@TenantName.onmicrosoft.com -Displayname "Lobby {Phone}"</dev:code>
        <dev:remarks>
          <maml:para>Changes the Object MyLobbyPhone@TenantName.onmicrosoft.com. DisplayName will be normalised to "Lobby Phone" and applied.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title>
        <dev:code>Set-TeamsCommonAreaPhone -UserPrincipalName MyLobbyPhone@TenantName.onmicrosoft.com -UsageLocation US -License CommonAreaPhone</dev:code>
        <dev:remarks>
          <maml:para>Changes the Object MyLobbyPhone@TenantName.onmicrosoft.com. Usage Location is set to 'US' and the CommonAreaPhone License is assigned.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 3 --------------------------</maml:title>
        <dev:code>Set-TeamsCommonAreaPhone -UserPrincipalName MyLobbyPhone@TenantName.onmicrosoft.com -License Office365E3,PhoneSystem</dev:code>
        <dev:remarks>
          <maml:para>Changes the Object MyLobbyPhone@TenantName.onmicrosoft.com. Usage Location is required to be set. Assigns the Office 365 E3 License as well as PhoneSystem</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 4 --------------------------</maml:title>
        <dev:code>Set-TeamsCommonAreaPhone -UserPrincipalName "MyLobbyPhone@TenantName.onmicrosoft.com" -IPPhonePolicy "My IPP" -TeamsCallingPolicy "CallP" -TeamsCallParkPolicy "CallPark" -PassThru</dev:code>
        <dev:remarks>
          <maml:para>Applies IPPhonePolicy, TeamsCallingPolicy and TeamsCallParkPolicy to the Common Area Phone Displays the Common Area Phone Object afterwards</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 5 --------------------------</maml:title>
        <dev:code>Set-TeamsCommonAreaPhone -UserPrincipalName "MyLobbyPhone@TenantName.onmicrosoft.com" -IPPhonePolicy "My IPP" -WriteErrorLog</dev:code>
        <dev:remarks>
          <maml:para>Applies IPPhonePolicy to the Common Area Phone. If Errors are encountered, they are written to C:\Temp as well as on screen</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Set-TeamsCommonAreaPhone.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Set-TeamsCommonAreaPhone.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_VoiceConfiguration.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_VoiceConfiguration.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_UserManagement.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_UserManagement.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Set-TeamsPhoneNumber</command:name>
      <command:verb>Set</command:verb>
      <command:noun>TeamsPhoneNumber</command:noun>
      <maml:description>
        <maml:para>Applies a Phone Number to a User Object or Resource Account</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Applies a Microsoft Calling Plans Number OR a Direct Routing Number to a User or Resource Account</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Set-TeamsPhoneNumber</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="1" aliases="none">
          <maml:name>Object</maml:name>
          <maml:description>
            <maml:para>Required for Parameterset Object. CsOnlineUser Object passed to the function to reduce query time. This can be a UPN of a User Account (CsOnlineUser Object) or a Resource Account (CsOnlineApplicationInstance Object)</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Object[]</command:parameterValue>
          <dev:type>
            <maml:name>Object[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="Tel, Number, TelephoneNumber">
          <maml:name>PhoneNumber</maml:name>
          <maml:description>
            <maml:para>A Microsoft Calling Plans Number or a Direct Routing Number Requires the Account to be licensed. Able to enable PhoneSystem and the Account for Enterprise Voice Required format is E.164 or LineUri, starting with a '+' and 10-15 digits long.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Suppresses confirmation prompt unless -Confirm is used explicitly Scavenges Phone Number from all accounts the PhoneNumber is currently assigned to including the current User</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi">
          <maml:name>WhatIf</maml:name>
          <maml:description>
            <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf">
          <maml:name>Confirm</maml:name>
          <maml:description>
            <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <command:syntaxItem>
        <maml:name>Set-TeamsPhoneNumber</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases="ObjectId, Identity">
          <maml:name>UserPrincipalName</maml:name>
          <maml:description>
            <maml:para>Required for Parameterset UserPrincipalName. UserPrincipalName of the Object to be assigned the PhoneNumber. This can be a UPN of a User Account (CsOnlineUser Object) or a Resource Account (CsOnlineApplicationInstance Object)</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
          <dev:type>
            <maml:name>String[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="Tel, Number, TelephoneNumber">
          <maml:name>PhoneNumber</maml:name>
          <maml:description>
            <maml:para>A Microsoft Calling Plans Number or a Direct Routing Number Requires the Account to be licensed. Able to enable PhoneSystem and the Account for Enterprise Voice Required format is E.164 or LineUri, starting with a '+' and 10-15 digits long.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Suppresses confirmation prompt unless -Confirm is used explicitly Scavenges Phone Number from all accounts the PhoneNumber is currently assigned to including the current User</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi">
          <maml:name>WhatIf</maml:name>
          <maml:description>
            <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf">
          <maml:name>Confirm</maml:name>
          <maml:description>
            <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="1" aliases="none">
        <maml:name>Object</maml:name>
        <maml:description>
          <maml:para>Required for Parameterset Object. CsOnlineUser Object passed to the function to reduce query time. This can be a UPN of a User Account (CsOnlineUser Object) or a Resource Account (CsOnlineApplicationInstance Object)</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Object[]</command:parameterValue>
        <dev:type>
          <maml:name>Object[]</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases="ObjectId, Identity">
        <maml:name>UserPrincipalName</maml:name>
        <maml:description>
          <maml:para>Required for Parameterset UserPrincipalName. UserPrincipalName of the Object to be assigned the PhoneNumber. This can be a UPN of a User Account (CsOnlineUser Object) or a Resource Account (CsOnlineApplicationInstance Object)</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
        <dev:type>
          <maml:name>String[]</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="Tel, Number, TelephoneNumber">
        <maml:name>PhoneNumber</maml:name>
        <maml:description>
          <maml:para>A Microsoft Calling Plans Number or a Direct Routing Number Requires the Account to be licensed. Able to enable PhoneSystem and the Account for Enterprise Voice Required format is E.164 or LineUri, starting with a '+' and 10-15 digits long.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>Force</maml:name>
        <maml:description>
          <maml:para>Suppresses confirmation prompt unless -Confirm is used explicitly Scavenges Phone Number from all accounts the PhoneNumber is currently assigned to including the current User</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi">
        <maml:name>WhatIf</maml:name>
        <maml:description>
          <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf">
        <maml:name>Confirm</maml:name>
        <maml:description>
          <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.String</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Void - If called directly</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
      <command:returnValue>
        <dev:type>
          <maml:name>Boolean - If called by another CmdLet</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>Simple helper function to assign a Phone Number to any User or Resource Account Returns boolean result and less communication if called by another function Can be used providing either the UserPrincipalName or the already queried CsOnlineUser Object</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>Set-TeamsPhoneNumber -UserPrincipalName John@domain.com -PhoneNumber +15551234567</dev:code>
        <dev:remarks>
          <maml:para>Applies the Phone Number +1 (555) 1234-567 to the Account John@domain.com</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Set-TeamsPhoneNumber.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Set-TeamsPhoneNumber.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_VoiceConfiguration.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_VoiceConfiguration.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_UserManagement.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_UserManagement.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_Supporting_Functions.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_Supporting_Functions.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Set-TeamsResourceAccount</command:name>
      <command:verb>Set</command:verb>
      <command:noun>TeamsResourceAccount</command:noun>
      <maml:description>
        <maml:para>Changes a new Resource Account</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>This function allows you to update Resource accounts for Teams Call Queues and Auto Attendants. It can carry a license and optionally also a phone number. This Function was designed to service the ApplicationInstance in AD, the corresponding AzureAD User and its license and enable use of a phone number, all with one Command.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Set-TeamsResourceAccount</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases="Identity, ObjectId">
          <maml:name>UserPrincipalName</maml:name>
          <maml:description>
            <maml:para>Required. Identifies the Object being changed</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>DisplayName</maml:name>
          <maml:description>
            <maml:para>Optional. The Name it will show up as in Teams. Invalid characters are stripped from the provided string</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="Type">
          <maml:name>ApplicationType</maml:name>
          <maml:description>
            <maml:para>CallQueue or AutoAttendant. Determines the association the account can have: A resource Account of the type "CallQueue" can only be associated with to a Call Queue A resource Account of the type "AutoAttendant" can only be associated with an Auto Attendant The type can be switched later (this is supported and worked flawlessly when testing, but not recommended by Microsoft).</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>UsageLocation</maml:name>
          <maml:description>
            <maml:para>Two Digit Country Code of the Location of the entity. Before a License can be assigned, the account needs a Usage Location populated.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>License</maml:name>
          <maml:description>
            <maml:para>Specifies the License to be assigned: PhoneSystem or PhoneSystem_VirtualUser If not provided, will default to PhoneSystem_VirtualUser Unlicensed Objects can exist, but cannot be assigned a phone number If a license already exists, it will try to swap the license to the specified one. PhoneSystem is an add-on license and cannot be assigned on its own. it has therefore been deactivated for now.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
          <dev:type>
            <maml:name>String[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="Tel, Number, TelephoneNumber">
          <maml:name>PhoneNumber</maml:name>
          <maml:description>
            <maml:para>Changes the Phone Number of the object. Can either be a Microsoft Number or a Direct Routing Number. Requires the Resource Account to be licensed correctly Required format is E.164, starting with a '+' and 10-15 digits long.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="OVP">
          <maml:name>OnlineVoiceRoutingPolicy</maml:name>
          <maml:description>
            <maml:para>Optional. Required for DirectRouting. Assigns an Online Voice Routing Policy to the Account</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>PassThru</maml:name>
          <maml:description>
            <maml:para>By default, no output is generated, PassThru will display the Object changed</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none">
          <maml:name>Sync</maml:name>
          <maml:description>
            <maml:para>Calls Sync-CsOnlineApplicationInstance cmdlet after applying settings synchronizing the application instances from Azure Active Directory into Agent Provisioning Service.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Optional. If parameter PhoneNumber is provided, will always remove the PhoneNumber from the object If PhoneNumber is not Null or Empty, will reapply the PhoneNumber</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi">
          <maml:name>WhatIf</maml:name>
          <maml:description>
            <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf">
          <maml:name>Confirm</maml:name>
          <maml:description>
            <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases="Identity, ObjectId">
        <maml:name>UserPrincipalName</maml:name>
        <maml:description>
          <maml:para>Required. Identifies the Object being changed</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>DisplayName</maml:name>
        <maml:description>
          <maml:para>Optional. The Name it will show up as in Teams. Invalid characters are stripped from the provided string</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="Type">
        <maml:name>ApplicationType</maml:name>
        <maml:description>
          <maml:para>CallQueue or AutoAttendant. Determines the association the account can have: A resource Account of the type "CallQueue" can only be associated with to a Call Queue A resource Account of the type "AutoAttendant" can only be associated with an Auto Attendant The type can be switched later (this is supported and worked flawlessly when testing, but not recommended by Microsoft).</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>UsageLocation</maml:name>
        <maml:description>
          <maml:para>Two Digit Country Code of the Location of the entity. Before a License can be assigned, the account needs a Usage Location populated.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>License</maml:name>
        <maml:description>
          <maml:para>Specifies the License to be assigned: PhoneSystem or PhoneSystem_VirtualUser If not provided, will default to PhoneSystem_VirtualUser Unlicensed Objects can exist, but cannot be assigned a phone number If a license already exists, it will try to swap the license to the specified one. PhoneSystem is an add-on license and cannot be assigned on its own. it has therefore been deactivated for now.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
        <dev:type>
          <maml:name>String[]</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="Tel, Number, TelephoneNumber">
        <maml:name>PhoneNumber</maml:name>
        <maml:description>
          <maml:para>Changes the Phone Number of the object. Can either be a Microsoft Number or a Direct Routing Number. Requires the Resource Account to be licensed correctly Required format is E.164, starting with a '+' and 10-15 digits long.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="OVP">
        <maml:name>OnlineVoiceRoutingPolicy</maml:name>
        <maml:description>
          <maml:para>Optional. Required for DirectRouting. Assigns an Online Voice Routing Policy to the Account</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>PassThru</maml:name>
        <maml:description>
          <maml:para>By default, no output is generated, PassThru will display the Object changed</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="none">
        <maml:name>Sync</maml:name>
        <maml:description>
          <maml:para>Calls Sync-CsOnlineApplicationInstance cmdlet after applying settings synchronizing the application instances from Azure Active Directory into Agent Provisioning Service.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>Force</maml:name>
        <maml:description>
          <maml:para>Optional. If parameter PhoneNumber is provided, will always remove the PhoneNumber from the object If PhoneNumber is not Null or Empty, will reapply the PhoneNumber</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi">
        <maml:name>WhatIf</maml:name>
        <maml:description>
          <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf">
        <maml:name>Confirm</maml:name>
        <maml:description>
          <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.String</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Void - Default Behavior</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object - With Switch PassThru</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>Though working correctly in all tests, please handle with care when changing Application Types Existing Application Instance Objects may get corrupted when treated as a User. If in doubt, please recreate the Resource Account and retire the old object. At the moment, swapping licenses is not possible/implemented. Please address manually in the Admin Center</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>Set-TeamsResourceAccount -UserPrincipalName ResourceAccount@TenantName.onmicrosoft.com -Displayname "My {ResourceAccount}"</dev:code>
        <dev:remarks>
          <maml:para>Will normalize the Display Name (i.E. remove special characters), then set it as "My ResourceAccount"</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title>
        <dev:code>Set-TeamsResourceAccount -UserPrincipalName AA-Mainline@TenantName.onmicrosoft.com -UsageLocation US</dev:code>
        <dev:remarks>
          <maml:para>Sets the UsageLocation for the Account in AzureAD to US.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 3 --------------------------</maml:title>
        <dev:code>Set-TeamsResourceAccount -UserPrincipalName AA-Mainline@TenantName.onmicrosoft.com -License PhoneSystem_VirtualUser</dev:code>
        <dev:remarks>
          <maml:para>Requires the Account to have a UsageLocation populated. Applies the License to Resource Account AA-Mainline. If no license is assigned, will try to assign. If the license is already applied, no action is currently taken.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 4 --------------------------</maml:title>
        <dev:code>Set-TeamsResourceAccount -UserPrincipalName AA-Mainline@TenantName.onmicrosoft.com -PhoneNumber +1555123456</dev:code>
        <dev:remarks>
          <maml:para>Changes the Phone number of the Object. Will cleanly remove the Phone Number first before reapplying it. This will only succeed if the object is licensed correctly!</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 5 --------------------------</maml:title>
        <dev:code>Set-TeamsResourceAccount -UserPrincipalName AA-Mainline@TenantName.onmicrosoft.com -PhoneNumber $Null</dev:code>
        <dev:remarks>
          <maml:para>Removes the Phone number from the Object</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 6 --------------------------</maml:title>
        <dev:code>Set-TeamsResourceAccount -UserPrincipalName MyRessourceAccount@TenantName.onmicrosoft.com -ApplicationType AutoAttendant</dev:code>
        <dev:remarks>
          <maml:para>Switches MyResourceAccount to the Type AutoAttendant Though working correctly in all tests, please handle with care</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Set-TeamsResourceAccount.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Set-TeamsResourceAccount.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_TeamsResourceAccount.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_TeamsResourceAccount.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Set-TeamsUserEmergencyConfiguration</command:name>
      <command:verb>Set</command:verb>
      <command:noun>TeamsUserEmergencyConfiguration</command:noun>
      <maml:description>
        <maml:para>Changes settings for a Common Area Phone</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Applies settings relevant to a Common Area Phone. This includes DisplayName, UsageLocation, License, IP Phone Policy, Calling Policy and Call Park Policy can be applied.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Set-TeamsUserEmergencyConfiguration</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="1" aliases="none">
          <maml:name>Object</maml:name>
          <maml:description>
            <maml:para>Required for Parameterset Object. CsOnlineUser Object passed to the function to reduce query time.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Object[]</command:parameterValue>
          <dev:type>
            <maml:name>Object[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>TeamsEmergencyCallingPolicy</maml:name>
          <maml:description>
            <maml:para>Optional. Adds a Teams Emergency Calling Policy to the User</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>TeamsEmergencyCallRoutingPolicy</maml:name>
          <maml:description>
            <maml:para>Optional. Adds a Teams Emergency Call Routing Policy to the User</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>TeamsEmergencyAddress</maml:name>
          <maml:description>
            <maml:para>Optional. Adds an Emergency Address to the User</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>PassThru</maml:name>
          <maml:description>
            <maml:para>Optional. Displays the Object after execution.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>WriteErrorLog</maml:name>
          <maml:description>
            <maml:para>If Errors are encountered, writes log to C:\Temp</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi">
          <maml:name>WhatIf</maml:name>
          <maml:description>
            <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf">
          <maml:name>Confirm</maml:name>
          <maml:description>
            <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <command:syntaxItem>
        <maml:name>Set-TeamsUserEmergencyConfiguration</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases="ObjectId, Identity">
          <maml:name>UserPrincipalName</maml:name>
          <maml:description>
            <maml:para>Required for Parameterset UserPrincipalName. UserPrincipalName of a CsOnlineUser Object to be provisioned.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
          <dev:type>
            <maml:name>String[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>TeamsEmergencyCallingPolicy</maml:name>
          <maml:description>
            <maml:para>Optional. Adds a Teams Emergency Calling Policy to the User</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>TeamsEmergencyCallRoutingPolicy</maml:name>
          <maml:description>
            <maml:para>Optional. Adds a Teams Emergency Call Routing Policy to the User</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>TeamsEmergencyAddress</maml:name>
          <maml:description>
            <maml:para>Optional. Adds an Emergency Address to the User</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>PassThru</maml:name>
          <maml:description>
            <maml:para>Optional. Displays the Object after execution.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>WriteErrorLog</maml:name>
          <maml:description>
            <maml:para>If Errors are encountered, writes log to C:\Temp</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi">
          <maml:name>WhatIf</maml:name>
          <maml:description>
            <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf">
          <maml:name>Confirm</maml:name>
          <maml:description>
            <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="1" aliases="none">
        <maml:name>Object</maml:name>
        <maml:description>
          <maml:para>Required for Parameterset Object. CsOnlineUser Object passed to the function to reduce query time.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Object[]</command:parameterValue>
        <dev:type>
          <maml:name>Object[]</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases="ObjectId, Identity">
        <maml:name>UserPrincipalName</maml:name>
        <maml:description>
          <maml:para>Required for Parameterset UserPrincipalName. UserPrincipalName of a CsOnlineUser Object to be provisioned.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
        <dev:type>
          <maml:name>String[]</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>TeamsEmergencyCallingPolicy</maml:name>
        <maml:description>
          <maml:para>Optional. Adds a Teams Emergency Calling Policy to the User</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>TeamsEmergencyCallRoutingPolicy</maml:name>
        <maml:description>
          <maml:para>Optional. Adds a Teams Emergency Call Routing Policy to the User</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>TeamsEmergencyAddress</maml:name>
        <maml:description>
          <maml:para>Optional. Adds an Emergency Address to the User</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>PassThru</maml:name>
        <maml:description>
          <maml:para>Optional. Displays the Object after execution.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>WriteErrorLog</maml:name>
        <maml:description>
          <maml:para>If Errors are encountered, writes log to C:\Temp</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi">
        <maml:name>WhatIf</maml:name>
        <maml:description>
          <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf">
        <maml:name>Confirm</maml:name>
        <maml:description>
          <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.String</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Void - Default Behaviour</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object - With Switch PassThru</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
      <command:returnValue>
        <dev:type>
          <maml:name>System.File - With Switch WriteErrorLog</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>Execution requires Teams Communication Admin Role (or higher) in Azure AD This CmdLet deliberately does not apply a Phone Number to the Object. To do so, please run Set-TeamsPhoneNumber or Set-TeamsUserVoiceConfig for a full Voice Configuration apply a Calling Plan or Online Voice Routing Policy a Phone Number and optionally a Tenant Dial Plan. This Script only covers relevant user-specific elements for Emergency calling configuration themselves.</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>Set-TeamsUserEmergencyConfiguration -UserPrincipalName User@Domain.com -TeamsEmergencyCallingPolicy US</dev:code>
        <dev:remarks>
          <maml:para>Changes the Object User@Domain.com. Applies the Emergency Calling Policy US to the User.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title>
        <dev:code>Set-TeamsUserEmergencyConfiguration -UserPrincipalName User@Domain.com -TeamsEmergencyCallRoutingPolicy USMAIN</dev:code>
        <dev:remarks>
          <maml:para>Changes the Object User@Domain.com. Applies the Emergency Call Routing Policy USMAIN to the User.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 3 --------------------------</maml:title>
        <dev:code>Set-TeamsUserEmergencyConfiguration -UserPrincipalName User@Domain.com -TeamsEmergencyAddress "US Main office"</dev:code>
        <dev:remarks>
          <maml:para>Changes the Object User@Domain.com. Applies the Location with the Description "US Main office" to the User.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 4 --------------------------</maml:title>
        <dev:code>Set-TeamsUserEmergencyConfiguration -UserPrincipalName "User@Domain.com" -TeamsEmergencyCallingPolicy US -TeamsEmergencyCallRoutingPolicy USMAIN -TeamsEmergencyAddress "US Main office" -PassThru</dev:code>
        <dev:remarks>
          <maml:para>Applies Emergency Calling Policy, Emergency Call Routing Policy and Emergency Address (Location) to the User Displays the Common Area Phone Object afterwards</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 5 --------------------------</maml:title>
        <dev:code>Set-TeamsUserEmergencyConfiguration -UserPrincipalName "User@Domain.com" -TeamsEmergencyCallingPolicy US -WriteErrorLog</dev:code>
        <dev:remarks>
          <maml:para>Applies Emergency Calling Policy to the User If Errors are encountered, they are written to C:\Temp as well as on screen</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Set-TeamsUserEmergencyConfiguration.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Set-TeamsUserEmergencyConfiguration.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_VoiceConfiguration.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_VoiceConfiguration.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_UserManagement.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_UserManagement.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Set-TeamsUserLicense</command:name>
      <command:verb>Set</command:verb>
      <command:noun>TeamsUserLicense</command:noun>
      <maml:description>
        <maml:para>Changes the License of an AzureAD Object</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Adds, removes or purges teams related Licenses from an AzureAD Object Supports all Licenses listed in Get-AzureAdLicense Supports all AzureAD Object that can receive Licenses and not just Teams Licenses Will verify major Licenses and their exclusivity, but not all. Verifies whether the Licenses selected are available on the Tenant before executing</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Set-TeamsUserLicense</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases="ObjectId, Identity">
          <maml:name>UserPrincipalName</maml:name>
          <maml:description>
            <maml:para>The UserPrincipalName, ObjectId or Identity of the Object.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
          <dev:type>
            <maml:name>String[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="License, AddLicense, AddLicenses">
          <maml:name>Add</maml:name>
          <maml:description>
            <maml:para>Optional. Licenses to be added (main function) Accepted Values are available with Intellisense and can be retrieved with Get-AzureAdLicense (Column ParameterName)</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
          <dev:type>
            <maml:name>String[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>UsageLocation</maml:name>
          <maml:description>
            <maml:para>Optional String. ISO3166-Alpha2 CountryCode indicating the Country for the User. Required for Licensing If required, the script will try to apply the UsageLocation (pending right). If not provided, defaults to 'US'</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>US</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>PassThru</maml:name>
          <maml:description>
            <maml:para>Optional. Displays User License Object after action.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi">
          <maml:name>WhatIf</maml:name>
          <maml:description>
            <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf">
          <maml:name>Confirm</maml:name>
          <maml:description>
            <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <command:syntaxItem>
        <maml:name>Set-TeamsUserLicense</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases="ObjectId, Identity">
          <maml:name>UserPrincipalName</maml:name>
          <maml:description>
            <maml:para>The UserPrincipalName, ObjectId or Identity of the Object.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
          <dev:type>
            <maml:name>String[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="License, AddLicense, AddLicenses">
          <maml:name>Add</maml:name>
          <maml:description>
            <maml:para>Optional. Licenses to be added (main function) Accepted Values are available with Intellisense and can be retrieved with Get-AzureAdLicense (Column ParameterName)</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
          <dev:type>
            <maml:name>String[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="RemoveAllLicenses">
          <maml:name>RemoveAll</maml:name>
          <maml:description>
            <maml:para>Optional Switch. Removes all licenses currently assigned (intended for replacements)</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>UsageLocation</maml:name>
          <maml:description>
            <maml:para>Optional String. ISO3166-Alpha2 CountryCode indicating the Country for the User. Required for Licensing If required, the script will try to apply the UsageLocation (pending right). If not provided, defaults to 'US'</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>US</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>PassThru</maml:name>
          <maml:description>
            <maml:para>Optional. Displays User License Object after action.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi">
          <maml:name>WhatIf</maml:name>
          <maml:description>
            <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf">
          <maml:name>Confirm</maml:name>
          <maml:description>
            <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <command:syntaxItem>
        <maml:name>Set-TeamsUserLicense</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases="ObjectId, Identity">
          <maml:name>UserPrincipalName</maml:name>
          <maml:description>
            <maml:para>The UserPrincipalName, ObjectId or Identity of the Object.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
          <dev:type>
            <maml:name>String[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="License, AddLicense, AddLicenses">
          <maml:name>Add</maml:name>
          <maml:description>
            <maml:para>Optional. Licenses to be added (main function) Accepted Values are available with Intellisense and can be retrieved with Get-AzureAdLicense (Column ParameterName)</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
          <dev:type>
            <maml:name>String[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="RemoveLicense, RemoveLicenses">
          <maml:name>Remove</maml:name>
          <maml:description>
            <maml:para>Optional. Licenses to be removed (alternative function) Accepted Values are available with Intellisense and can be retrieved with Get-AzureAdLicense (Column ParameterName)</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
          <dev:type>
            <maml:name>String[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>UsageLocation</maml:name>
          <maml:description>
            <maml:para>Optional String. ISO3166-Alpha2 CountryCode indicating the Country for the User. Required for Licensing If required, the script will try to apply the UsageLocation (pending right). If not provided, defaults to 'US'</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>US</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>PassThru</maml:name>
          <maml:description>
            <maml:para>Optional. Displays User License Object after action.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi">
          <maml:name>WhatIf</maml:name>
          <maml:description>
            <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf">
          <maml:name>Confirm</maml:name>
          <maml:description>
            <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases="ObjectId, Identity">
        <maml:name>UserPrincipalName</maml:name>
        <maml:description>
          <maml:para>The UserPrincipalName, ObjectId or Identity of the Object.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
        <dev:type>
          <maml:name>String[]</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="License, AddLicense, AddLicenses">
        <maml:name>Add</maml:name>
        <maml:description>
          <maml:para>Optional. Licenses to be added (main function) Accepted Values are available with Intellisense and can be retrieved with Get-AzureAdLicense (Column ParameterName)</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
        <dev:type>
          <maml:name>String[]</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="RemoveLicense, RemoveLicenses">
        <maml:name>Remove</maml:name>
        <maml:description>
          <maml:para>Optional. Licenses to be removed (alternative function) Accepted Values are available with Intellisense and can be retrieved with Get-AzureAdLicense (Column ParameterName)</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
        <dev:type>
          <maml:name>String[]</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="RemoveAllLicenses">
        <maml:name>RemoveAll</maml:name>
        <maml:description>
          <maml:para>Optional Switch. Removes all licenses currently assigned (intended for replacements)</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>UsageLocation</maml:name>
        <maml:description>
          <maml:para>Optional String. ISO3166-Alpha2 CountryCode indicating the Country for the User. Required for Licensing If required, the script will try to apply the UsageLocation (pending right). If not provided, defaults to 'US'</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>US</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>PassThru</maml:name>
        <maml:description>
          <maml:para>Optional. Displays User License Object after action.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi">
        <maml:name>WhatIf</maml:name>
        <maml:description>
          <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf">
        <maml:name>Confirm</maml:name>
        <maml:description>
          <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.String</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Void - Default Behavior</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object - With Switch PassThru</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>Many license packages are available, the following Licenses are most predominant: - Main License Packages - Microsoft 365 E5 License - Microsoft365E5 (SPE_E5) - Microsoft 365 E3 License - Microsoft365E3 (SPE_E3) #For Teams EV this requires PhoneSystem as an add-on! - Office 365 E5 License - Microsoft365E5 (ENTERPRISEPREMIUM) - Office 365 E5 without Audio Conferencing License - Microsoft365E5noAudioConferencing (ENTERPRISEPREMIUM_NOPSTNCONF) #For Teams EV this requires AudioConferencing and PhoneSystem as an add-on! - Office 365 E3 License - Microsoft365E3 (ENTERPRISEPACK) #For Teams EV this requires PhoneSystem as an add-on! - Skype for Business Online (Plan 2) (MCOSTANDARD) #For Teams EV this requires PhoneSystem as an add-on! - Add-On Licenses (Require Main License Package from above) - Audio Conferencing License - AudioConferencing (MCOMEETADV) - Phone System - PhoneSystem (MCOEV) - Standalone Licenses (Special) - Common Area Phone License (MCOCAP) #Cheaper, but limits the Object to a Common Area Phone (no mailbox) - Phone System Virtual User License (PHONESYSTEM_VIRTUALUSER) #Only use for Resource Accounts! - Microsoft Calling Plan Licenses - Domestic Calling Plan - DomesticCallingPlan (MCOPSTN1) - Domestic and International Calling Plan - InternationalCallingPlan (MCOPSTN2)</maml:para>
        <maml:para>Data in Get-AzureAdLicense as per Microsoft Docs Article: Published Service Plan IDs for Licensing https://docs.microsoft.com/en-us/azure/active-directory/users-groups-roles/licensing-service-plan-reference#service-plans-that-cannot-be-assigned-at-the-same-time</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>Set-TeamsUserLicense -UserPrincipalName Name@domain.com -Add MS365E5</dev:code>
        <dev:remarks>
          <maml:para>Applies the Microsoft 365 E5 License (SPE_E5) to Name@domain.com</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title>
        <dev:code>Set-TeamsUserLicense -UserPrincipalName Name@domain.com -Add PhoneSystem</dev:code>
        <dev:remarks>
          <maml:para>Applies the PhoneSystem Add-on License (MCOEV) to Name@domain.com This requires a main license to be present as PhoneSystem is an add-on license</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 3 --------------------------</maml:title>
        <dev:code>Set-TeamsUserLicense -UserPrincipalName Name@domain.com -Add MS365E3,PhoneSystem</dev:code>
        <dev:remarks>
          <maml:para>Set-TeamsUserLicense -UserPrincipalName Name@domain.com -Add @('MS365E3','PhoneSystem') Applies the Microsoft 365 E3 License (SPE_E3) and PhoneSystem Add-on License (MCOEV) to Name@domain.com</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 4 --------------------------</maml:title>
        <dev:code>Set-TeamsUserLicense -UserPrincipalName Name@domain.com -Add O365E5 -Remove SFBOP2</dev:code>
        <dev:remarks>
          <maml:para>Special Case Scenario to replace a specific license with another. Replaces Skype for Business Online Plan 2 License (MCOSTANDARD) with the Office 365 E5 License (ENTERPRISEPREMIUM).</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 5 --------------------------</maml:title>
        <dev:code>Set-TeamsUserLicense -UserPrincipalName Name@domain.com -Add PhoneSystem_VirtualUser -RemoveAll</dev:code>
        <dev:remarks>
          <maml:para>Special Case Scenario for Resource Accounts to swap licenses for a Phone System VirtualUser License Replaces all Licenses currently on the User Name@domain.com with the Phone System Virtual User (MCOEV_VIRTUALUSER) License</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 6 --------------------------</maml:title>
        <dev:code>Set-TeamsUserLicense -UserPrincipalName Name@domain.com -Remove PhoneSystem</dev:code>
        <dev:remarks>
          <maml:para>Removes the Phone System License from the Object.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 7 --------------------------</maml:title>
        <dev:code>Set-TeamsUserLicense -UserPrincipalName Name@domain.com -RemoveAll</dev:code>
        <dev:remarks>
          <maml:para>Removes all licenses the Object is currently provisioned for!</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Set-TeamsUserLicense.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Set-TeamsUserLicense.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_Licensing.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_Licensing.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_UserManagement.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_UserManagement.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Set-TeamsUserVoiceConfig</command:name>
      <command:verb>Set</command:verb>
      <command:noun>TeamsUserVoiceConfig</command:noun>
      <maml:description>
        <maml:para>Enables a User to consume Voice services in Teams (Pstn breakout)</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Enables a User for Direct Routing, Microsoft Callings or for use in Call Queues (EvOnly) User requires a Phone System License in any case.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Set-TeamsUserVoiceConfig</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases="ObjectId, Identity">
          <maml:name>UserPrincipalName</maml:name>
          <maml:description>
            <maml:para>Required. UserPrincipalName (UPN) of the User to change the configuration for</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>DirectRouting</maml:name>
          <maml:description>
            <maml:para>Optional (Default Parameter Set). Limits the Scope to enable an Object for DirectRouting</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="OVP">
          <maml:name>OnlineVoiceRoutingPolicy</maml:name>
          <maml:description>
            <maml:para>Optional. Required for DirectRouting. Assigns an Online Voice Routing Policy to the User</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="TDP">
          <maml:name>TenantDialPlan</maml:name>
          <maml:description>
            <maml:para>Optional. Optional for DirectRouting. Assigns a Tenant Dial Plan to the User</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="CLI">
          <maml:name>CallingLineIdentity</maml:name>
          <maml:description>
            <maml:para>Optional. Assigns a Calling Line Identity to the User</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="Number, LineURI">
          <maml:name>PhoneNumber</maml:name>
          <maml:description>
            <maml:para>Optional. Phone Number in E.164 format to be assigned to the User. For proper configuration a PhoneNumber is required. Without it, the User will not be able to make or receive calls. This script does not enforce all Parameters and is intended to validate and configure one or all Parameters. For enforced ParameterSet please call New-TeamsUserVoiceConfig For DirectRouting, will populate the LineUri For CallingPlans, will populate the TelephoneNumber (must be present in the Tenant)</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>By default, this script only applies changed elements. Force overwrites configuration regardless of current status. Additionally Suppresses confirmation inputs except when $Confirm is explicitly specified</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>PassThru</maml:name>
          <maml:description>
            <maml:para>Optional. Displays Object after action.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>WriteErrorLog</maml:name>
          <maml:description>
            <maml:para>If Errors are encountered, writes log to C:\Temp</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi">
          <maml:name>WhatIf</maml:name>
          <maml:description>
            <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf">
          <maml:name>Confirm</maml:name>
          <maml:description>
            <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <command:syntaxItem>
        <maml:name>Set-TeamsUserVoiceConfig</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases="ObjectId, Identity">
          <maml:name>UserPrincipalName</maml:name>
          <maml:description>
            <maml:para>Required. UserPrincipalName (UPN) of the User to change the configuration for</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="TDP">
          <maml:name>TenantDialPlan</maml:name>
          <maml:description>
            <maml:para>Optional. Optional for DirectRouting. Assigns a Tenant Dial Plan to the User</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="CLI">
          <maml:name>CallingLineIdentity</maml:name>
          <maml:description>
            <maml:para>Optional. Assigns a Calling Line Identity to the User</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="Number, LineURI">
          <maml:name>PhoneNumber</maml:name>
          <maml:description>
            <maml:para>Optional. Phone Number in E.164 format to be assigned to the User. For proper configuration a PhoneNumber is required. Without it, the User will not be able to make or receive calls. This script does not enforce all Parameters and is intended to validate and configure one or all Parameters. For enforced ParameterSet please call New-TeamsUserVoiceConfig For DirectRouting, will populate the LineUri For CallingPlans, will populate the TelephoneNumber (must be present in the Tenant)</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>CallingPlan</maml:name>
          <maml:description>
            <maml:para>Enables an Object for Microsoft Calling Plans</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>CallingPlanLicense</maml:name>
          <maml:description>
            <maml:para>Optional. Optional for CallingPlans. Assigns a Calling Plan License to the User. Must be one of the set: InternationalCallingPlan DomesticCallingPlan DomesticCallingPlan120 CommunicationCredits DomesticCallingPlan120b</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
          <dev:type>
            <maml:name>String[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>By default, this script only applies changed elements. Force overwrites configuration regardless of current status. Additionally Suppresses confirmation inputs except when $Confirm is explicitly specified</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>PassThru</maml:name>
          <maml:description>
            <maml:para>Optional. Displays Object after action.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>WriteErrorLog</maml:name>
          <maml:description>
            <maml:para>If Errors are encountered, writes log to C:\Temp</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi">
          <maml:name>WhatIf</maml:name>
          <maml:description>
            <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf">
          <maml:name>Confirm</maml:name>
          <maml:description>
            <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases="ObjectId, Identity">
        <maml:name>UserPrincipalName</maml:name>
        <maml:description>
          <maml:para>Required. UserPrincipalName (UPN) of the User to change the configuration for</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>DirectRouting</maml:name>
        <maml:description>
          <maml:para>Optional (Default Parameter Set). Limits the Scope to enable an Object for DirectRouting</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="OVP">
        <maml:name>OnlineVoiceRoutingPolicy</maml:name>
        <maml:description>
          <maml:para>Optional. Required for DirectRouting. Assigns an Online Voice Routing Policy to the User</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="TDP">
        <maml:name>TenantDialPlan</maml:name>
        <maml:description>
          <maml:para>Optional. Optional for DirectRouting. Assigns a Tenant Dial Plan to the User</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="CLI">
        <maml:name>CallingLineIdentity</maml:name>
        <maml:description>
          <maml:para>Optional. Assigns a Calling Line Identity to the User</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="named" aliases="Number, LineURI">
        <maml:name>PhoneNumber</maml:name>
        <maml:description>
          <maml:para>Optional. Phone Number in E.164 format to be assigned to the User. For proper configuration a PhoneNumber is required. Without it, the User will not be able to make or receive calls. This script does not enforce all Parameters and is intended to validate and configure one or all Parameters. For enforced ParameterSet please call New-TeamsUserVoiceConfig For DirectRouting, will populate the LineUri For CallingPlans, will populate the TelephoneNumber (must be present in the Tenant)</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>CallingPlan</maml:name>
        <maml:description>
          <maml:para>Enables an Object for Microsoft Calling Plans</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>CallingPlanLicense</maml:name>
        <maml:description>
          <maml:para>Optional. Optional for CallingPlans. Assigns a Calling Plan License to the User. Must be one of the set: InternationalCallingPlan DomesticCallingPlan DomesticCallingPlan120 CommunicationCredits DomesticCallingPlan120b</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
        <dev:type>
          <maml:name>String[]</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>Force</maml:name>
        <maml:description>
          <maml:para>By default, this script only applies changed elements. Force overwrites configuration regardless of current status. Additionally Suppresses confirmation inputs except when $Confirm is explicitly specified</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>PassThru</maml:name>
        <maml:description>
          <maml:para>Optional. Displays Object after action.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>WriteErrorLog</maml:name>
        <maml:description>
          <maml:para>If Errors are encountered, writes log to C:\Temp</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi">
        <maml:name>WhatIf</maml:name>
        <maml:description>
          <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf">
        <maml:name>Confirm</maml:name>
        <maml:description>
          <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.String</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Void - Default Behaviour</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object - With Switch PassThru</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
      <command:returnValue>
        <dev:type>
          <maml:name>System.File - With Switch WriteErrorLog</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>ParameterSet 'DirectRouting' will provision a User to use DirectRouting. Enables User for Enterprise Voice, assigns a Number and an Online Voice Routing Policy and optionally also a Tenant Dial Plan. This is the default. ParameterSet 'CallingPlans' will provision a User to use Microsoft CallingPlans. Enables User for Enterprise Voice and assigns a Microsoft Number (must be found in the Tenant!) Optionally can also assign a Calling Plan license prior. This script cannot apply PhoneNumbers for OperatorConnect yet This script accepts pipeline input as Value (UserPrincipalName) or as Object (UPN, OVP, TDP, PhoneNumber) This enables bulk provisioning</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>Set-TeamsUserVoiceConfig -UserPrincipalName John@domain.com -CallingPlans -PhoneNumber "+15551234567" -CallingPlanLicense DomesticCallingPlan</dev:code>
        <dev:remarks>
          <maml:para>Provisions John@domain.com for Calling Plans with the Calling Plan License and Phone Number provided</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title>
        <dev:code>Set-TeamsUserVoiceConfig -UserPrincipalName John@domain.com -CallingPlans -PhoneNumber "+15551234567" -WriteErrorLog</dev:code>
        <dev:remarks>
          <maml:para>Provisions John@domain.com for Calling Plans with the Phone Number provided (requires Calling Plan License to be assigned already) If Errors are encountered, they are written to C:\Temp as well as on screen</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 3 --------------------------</maml:title>
        <dev:code>Set-TeamsUserVoiceConfig -UserPrincipalName John@domain.com -DirectRouting -PhoneNumber "+15551234567" -OnlineVoiceRoutingPolicy "O_VP_AMER"</dev:code>
        <dev:remarks>
          <maml:para>Provisions John@domain.com for DirectRouting with the Online Voice Routing Policy and Phone Number provided</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 4 --------------------------</maml:title>
        <dev:code>Set-TeamsUserVoiceConfig -UserPrincipalName John@domain.com -PhoneNumber "+15551234567" -OnlineVoiceRoutingPolicy "O_VP_AMER" -TenantDialPlan "DP-US"</dev:code>
        <dev:remarks>
          <maml:para>Provisions John@domain.com for DirectRouting with the Online Voice Routing Policy, Tenant Dial Plan and Phone Number provided</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 5 --------------------------</maml:title>
        <dev:code>Set-TeamsUserVoiceConfig -UserPrincipalName John@domain.com -PhoneNumber "+15551234567" -OnlineVoiceRoutingPolicy "O_VP_AMER"</dev:code>
        <dev:remarks>
          <maml:para>Provisions John@domain.com for DirectRouting with the Online Voice Routing Policy and Phone Number provided.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 6 --------------------------</maml:title>
        <dev:code>Set-TeamsUserVoiceConfig -UserPrincipalName John@domain.com -PhoneNumber "+15551234567" -CallingLineIdentity "CLI-15551234000"</dev:code>
        <dev:remarks>
          <maml:para>Provisions John@domain.com for DirectRouting with the Calling Line Identity and Phone Number provided.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Set-TeamsUserVoiceConfig.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Set-TeamsUserVoiceConfig.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_VoiceConfiguration.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_VoiceConfiguration.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Test-AzureADConnection</command:name>
      <command:verb>Test</command:verb>
      <command:noun>AzureADConnection</command:noun>
      <maml:description>
        <maml:para>Tests whether a valid PS Session exists for Azure Active Directory (v2)</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>A connection established via Connect-AzureAD is parsed.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Test-AzureADConnection</maml:name>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters />
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>Boolean</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>Calls Get-AzureADCurrentSessionInfo to determine whether a Connection exists</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>Test-AzureADConnection</dev:code>
        <dev:remarks>
          <maml:para>Will Return $TRUE only if a session is found.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Test-AzureAdConnection.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Test-AzureAdConnection.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_TeamsSession.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_TeamsSession.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Test-AzureAdGroup</command:name>
      <command:verb>Test</command:verb>
      <command:noun>AzureAdGroup</command:noun>
      <maml:description>
        <maml:para>Tests whether an Group exists in Azure AD (record found)</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Simple lookup - does the Group Object exist - to avoid TRY/CATCH statements for processing</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Test-AzureAdGroup</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="1" aliases="UserPrincipalName, GroupName">
          <maml:name>Identity</maml:name>
          <maml:description>
            <maml:para>Mandatory. The Name or User Principal Name (MailNickName) of the Group to test.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="1" aliases="UserPrincipalName, GroupName">
        <maml:name>Identity</maml:name>
        <maml:description>
          <maml:para>Mandatory. The Name or User Principal Name (MailNickName) of the Group to test.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.String</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>Boolean</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>None</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>Test-AzureAdGroup -Identity "My Group"</dev:code>
        <dev:remarks>
          <maml:para>Will Return $TRUE only if the object "My Group" is found. Will Return $FALSE in any other case</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Test-AzureAdGroup.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Test-AzureAdGroup.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_UserManagement.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_UserManagement.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_Supporting_Functions.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_Supporting_Functions.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Test-AzureAdLicenseContainsServicePlan</command:name>
      <command:verb>Test</command:verb>
      <command:noun>AzureAdLicenseContainsServicePlan</command:noun>
      <maml:description>
        <maml:para>Tests whether a specific ServicePlan is included in an AzureAd License</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>If an AzureAd License contains a specific Service Plan thi function will return $TRUE, otherwise $FALSE</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Test-AzureAdLicenseContainsServicePlan</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>License</maml:name>
          <maml:description>
            <maml:para>Mandatory. The License to test</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
          <maml:name>ServicePlan</maml:name>
          <maml:description>
            <maml:para>Mandatory. The ServicePlan to query</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>License</maml:name>
        <maml:description>
          <maml:para>Mandatory. The License to test</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
        <maml:name>ServicePlan</maml:name>
        <maml:description>
          <maml:para>Mandatory. The ServicePlan to query</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.String</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>Boolean</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>This CmdLet is a helper function to delegate validation tasks</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>Test-AzureAdLicenseContainsServicePlan -License Office365E5 -ServicePlan MCOEV</dev:code>
        <dev:remarks>
          <maml:para>Will Return $TRUE only if the ServicePlan is part of the License 'Office365E5'</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Test-AzureAdLicenseContainsServicePlan.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Test-AzureAdLicenseContainsServicePlan.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_Supporting_Functions.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_Supporting_Functions.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Test-AzureAdUser</command:name>
      <command:verb>Test</command:verb>
      <command:noun>AzureAdUser</command:noun>
      <maml:description>
        <maml:para>Tests whether a User exists in Azure AD (record found)</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Simple lookup - does the User Object exist - to avoid TRY/CATCH statements for processing</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Test-AzureAdUser</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases="ObjectId, Identity">
          <maml:name>UserPrincipalName</maml:name>
          <maml:description>
            <maml:para>Mandatory. The sign-in address, User Principal Name or Object Id of the Object.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
          <dev:type>
            <maml:name>String[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases="ObjectId, Identity">
        <maml:name>UserPrincipalName</maml:name>
        <maml:description>
          <maml:para>Mandatory. The sign-in address, User Principal Name or Object Id of the Object.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
        <dev:type>
          <maml:name>String[]</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.String</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>Boolean</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>x</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>Test-AzureADUser -UserPrincipalName "$UPN"</dev:code>
        <dev:remarks>
          <maml:para>Will Return $TRUE only if the object $UPN is found. Will Return $FALSE in any other case, including if there is no Connection to AzureAD!</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Test-AzureAdUser.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Test-AzureAdUser.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_UserManagement.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_UserManagement.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_Supporting_Functions.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_Supporting_Functions.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Test-ExchangeOnlineConnection</command:name>
      <command:verb>Test</command:verb>
      <command:noun>ExchangeOnlineConnection</command:noun>
      <maml:description>
        <maml:para>Tests whether a valid PS Session exists for ExchangeOnline</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>A connection established via Connect-ExchangeOnline is parsed. This connection must be valid (Available and Opened)</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Test-ExchangeOnlineConnection</maml:name>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters />
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>Boolean</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>Calls Get-PsSession to determine whether a Connection to ExchangeOnline exists</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>Test-ExchangeOnlineConnection</dev:code>
        <dev:remarks>
          <maml:para>Will Return $TRUE only if a session is found.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Test-ExchangeOnlineConnection.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Test-ExchangeOnlineConnection.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_TeamsSession.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_TeamsSession.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Test-MicrosoftTeamsConnection</command:name>
      <command:verb>Test</command:verb>
      <command:noun>MicrosoftTeamsConnection</command:noun>
      <maml:description>
        <maml:para>Tests whether a valid PS Session exists for MicrosoftTeams</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>A connection established via Connect-MicrosoftTeams is parsed.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Test-MicrosoftTeamsConnection</maml:name>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters />
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.Void</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Boolean</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>Calls Get-PsSession to determine whether a Connection to MicrosoftTeams (SkypeOnline) exists</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>Test-MicrosoftTeamsConnection</dev:code>
        <dev:remarks>
          <maml:para>Will Return $TRUE only if a session is found.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Test-MicrosoftTeamsConnection.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Test-MicrosoftTeamsConnection.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_TeamsSession.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_TeamsSession.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Test-TeamsExternalDNS</command:name>
      <command:verb>Test</command:verb>
      <command:noun>TeamsExternalDNS</command:noun>
      <maml:description>
        <maml:para>Tests a domain for the required external DNS records for a Teams deployment.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Teams requires the use of several external DNS records for clients and federated partners to locate services and users. This function will look for the required external DNS records and display their current values, if they are correctly implemented, and any issues with the records.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Test-TeamsExternalDNS</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>Domain</maml:name>
          <maml:description>
            <maml:para>The domain name to test records. This parameter is required.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>Domain</maml:name>
        <maml:description>
          <maml:para>The domain name to test records. This parameter is required.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.String</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>None</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>Test-TeamsExternalDNS -Domain contoso.com</dev:code>
        <dev:remarks>
          <maml:para>Example 1 will test the contoso.com domain for the required external DNS records for Teams.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Test-TeamsExternalDNS.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Test-TeamsExternalDNS.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_Unmanaged.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_Unmanaged.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Test-TeamsResourceAccount</command:name>
      <command:verb>Test</command:verb>
      <command:noun>TeamsResourceAccount</command:noun>
      <maml:description>
        <maml:para>Tests whether an Application Instance exists in Azure AD (record found)</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Simple lookup - does the User Object exist - to avoid TRY/CATCH statements for processing</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Test-TeamsResourceAccount</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="1" aliases="ObjectId, Identity">
          <maml:name>UserPrincipalName</maml:name>
          <maml:description>
            <maml:para>Mandatory. The sign-in address or User Principal Name of the user account to test.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Quick</maml:name>
          <maml:description>
            <maml:para>Optional. By default, this command queries the CsOnlineApplicationInstance which takes a while. A cursory check can be performed against the AzureAdUser (Department "Microsoft Communication Application Instance" indicates ResourceAccounts)</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="1" aliases="ObjectId, Identity">
        <maml:name>UserPrincipalName</maml:name>
        <maml:description>
          <maml:para>Mandatory. The sign-in address or User Principal Name of the user account to test.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>Quick</maml:name>
        <maml:description>
          <maml:para>Optional. By default, this command queries the CsOnlineApplicationInstance which takes a while. A cursory check can be performed against the AzureAdUser (Department "Microsoft Communication Application Instance" indicates ResourceAccounts)</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.String</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>Boolean</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>None</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>Test-TeamsResourceAccount -UserPrincipalName "$UPN"</dev:code>
        <dev:remarks>
          <maml:para>Will Return $TRUE only if an CsOnlineApplicationInstance Object with the $UPN is found. Will Return $FALSE in any other case, including if there is no Connection to AzureAD!</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title>
        <dev:code>Test-TeamsResourceAccount -UserPrincipalName "$UPN" -Quick</dev:code>
        <dev:remarks>
          <maml:para>Will Return $TRUE only if an AzureAdObject with the $UPN is found with the Department "Microsoft Communication Application Instance" set) Will Return $FALSE in any other case, including if there is no Connection to AzureAD!</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Test-TeamsResourceAccount.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Test-TeamsResourceAccount.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_TeamsResourceAccount.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_TeamsResourceAccount.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Test-TeamsUser</command:name>
      <command:verb>Test</command:verb>
      <command:noun>TeamsUser</command:noun>
      <maml:description>
        <maml:para>Tests whether an Object exists in Teams (record found)</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Simple lookup - does the Object exist - to avoid TRY/CATCH statements for processing</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Test-TeamsUser</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="1" aliases="ObjectId, Identity">
          <maml:name>UserPrincipalName</maml:name>
          <maml:description>
            <maml:para>Mandatory. The sign-in address, User Principal Name or Object Id of the Object.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="1" aliases="ObjectId, Identity">
        <maml:name>UserPrincipalName</maml:name>
        <maml:description>
          <maml:para>Mandatory. The sign-in address, User Principal Name or Object Id of the Object.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.String</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>Boolean</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>None</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>Test-TeamsUser -Identity "$UPN"</dev:code>
        <dev:remarks>
          <maml:para>Will Return $TRUE only if the object $UPN is found. Will Return $FALSE in any other case, including if there is no Connection to MicrosoftTeams!</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Test-TeamsUser.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Test-TeamsUser.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_UserManagement.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_UserManagement.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_Supporting_Functions.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_Supporting_Functions.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Test-TeamsUserHasCallPlan</command:name>
      <command:verb>Test</command:verb>
      <command:noun>TeamsUserHasCallPlan</command:noun>
      <maml:description>
        <maml:para>Tests an AzureAD-Object for a CallingPlan License</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Any assigned Calling Plan found on the User (with exception of the Communication Credits license, which is add-on) will let this function return $TRUE</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Test-TeamsUserHasCallPlan</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="1" aliases="ObjectId, Identity">
          <maml:name>UserPrincipalName</maml:name>
          <maml:description>
            <maml:para>This is the UserID (UPN)</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="1" aliases="ObjectId, Identity">
        <maml:name>UserPrincipalName</maml:name>
        <maml:description>
          <maml:para>This is the UserID (UPN)</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.String</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>Boolean</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>This Script is indiscriminate against the User Type, all AzureAD User Objects can be tested.</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>Test-TeamsUserHasCallPlan -Identity User@domain.com</dev:code>
        <dev:remarks>
          <maml:para>Will Return $TRUE only if one of the following license Packages are assigned: InternationalCallingPlan, DomesticCallingPlan, DomesticCallingPlan120, DomesticCallingPlan120b</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Test-TeamsUserHasCallPlan.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Test-TeamsUserHasCallPlan.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_Supporting_Functions.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_Supporting_Functions.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Test-TeamsUserLicense</command:name>
      <command:verb>Test</command:verb>
      <command:noun>TeamsUserLicense</command:noun>
      <maml:description>
        <maml:para>Tests a License or License Package assignment against an AzureAD-Object</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Teams requires a specific License combination (License) for a User. Teams Direct Routing requires a specific License (ServicePlan), namely 'Phone System' to enable a User for Enterprise Voice This Script can be used to ascertain either.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Test-TeamsUserLicense</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="1" aliases="ObjectId, Identity">
          <maml:name>UserPrincipalName</maml:name>
          <maml:description>
            <maml:para>Mandatory. The sign-in address, User Principal Name or Object Id of the Object.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>License</maml:name>
          <maml:description>
            <maml:para>Defined and descriptive Name of the License Combination to test. This will test whether one more more individual Service Plans are present on the Identity</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <command:syntaxItem>
        <maml:name>Test-TeamsUserLicense</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="1" aliases="ObjectId, Identity">
          <maml:name>UserPrincipalName</maml:name>
          <maml:description>
            <maml:para>Mandatory. The sign-in address, User Principal Name or Object Id of the Object.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>ServicePlan</maml:name>
          <maml:description>
            <maml:para>Defined and descriptive Name of the Service Plan to test. Only ServicePlanNames pertaining to Teams are tested. Returns $TRUE only if the ServicePlanName was found and the ProvisioningStatus is "Success" at least once. ServicePlans can be part of multiple licenses, for Example MCOEV (PhoneSystem) is part of any E5 license. For Testing against a full License Package, please use Parameter License</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="1" aliases="ObjectId, Identity">
        <maml:name>UserPrincipalName</maml:name>
        <maml:description>
          <maml:para>Mandatory. The sign-in address, User Principal Name or Object Id of the Object.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>License</maml:name>
        <maml:description>
          <maml:para>Defined and descriptive Name of the License Combination to test. This will test whether one more more individual Service Plans are present on the Identity</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>ServicePlan</maml:name>
        <maml:description>
          <maml:para>Defined and descriptive Name of the Service Plan to test. Only ServicePlanNames pertaining to Teams are tested. Returns $TRUE only if the ServicePlanName was found and the ProvisioningStatus is "Success" at least once. ServicePlans can be part of multiple licenses, for Example MCOEV (PhoneSystem) is part of any E5 license. For Testing against a full License Package, please use Parameter License</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.String</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>Boolean</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>This Script is indiscriminate against the User Type, all AzureAD User Objects can be tested. ServicePlans can be part of multiple licenses, for Example MCOEV (PhoneSystem) is part of any E5 license.</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>Test-TeamsUserLicense -Identity User@domain.com -ServicePlan MCOEV</dev:code>
        <dev:remarks>
          <maml:para>Will Return $TRUE only if the ServicePlan is assigned and ProvisioningStatus is SUCCESS!</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title>
        <dev:code>Test-TeamsUserLicense -Identity User@domain.com -License Microsoft365E5</dev:code>
        <dev:remarks>
          <maml:para>Will Return $TRUE only if the license Package is assigned.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Test-TeamsUserLicense.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Test-TeamsUserLicense.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_Supporting_Functions.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_Supporting_Functions.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Test-TeamsUserVoiceConfig</command:name>
      <command:verb>Test</command:verb>
      <command:noun>TeamsUserVoiceConfig</command:noun>
      <maml:description>
        <maml:para>Tests whether any Voice Configuration has been applied to one or more Users</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>For Microsoft Call Plans: Tests for EnterpriseVoice enablement, License AND Phone Number For Direct Routing: Tests for EnterpriseVoice enablement, Online Voice Routing Policy AND Phone Number</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Test-TeamsUserVoiceConfig</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="1" aliases="none">
          <maml:name>Object</maml:name>
          <maml:description>
            <maml:para>Required for Parameterset Object. CsOnlineUser Object passed to the function to reduce query time.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Object[]</command:parameterValue>
          <dev:type>
            <maml:name>Object[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Partial</maml:name>
          <maml:description>
            <maml:para>Optional. By default, returns TRUE only if all required Parameters are configured (User is fully provisioned) Using this switch, returns TRUE if some of the voice Parameters are configured (User has some or full configuration)</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>IncludeTenantDialPlan</maml:name>
          <maml:description>
            <maml:para>Optional. By default, only the core requirements for Voice Routing are verified. This extends the requirements to also include the Tenant Dial Plan. Returns FALSE if no or only a TenantDialPlan is assigned</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>ExtensionState</maml:name>
          <maml:description>
            <maml:para>Optional. For DirectRouting, enforces the presence (or absence) of an Extension. Default: NotMeasured No effect for Microsoft Calling Plans</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>NotMeasured</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <command:syntaxItem>
        <maml:name>Test-TeamsUserVoiceConfig</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases="ObjectId, Identity">
          <maml:name>UserPrincipalName</maml:name>
          <maml:description>
            <maml:para>Required for Parameterset UserPrincipalName. UserPrincipalName or ObjectId of the Object</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
          <dev:type>
            <maml:name>String[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Partial</maml:name>
          <maml:description>
            <maml:para>Optional. By default, returns TRUE only if all required Parameters are configured (User is fully provisioned) Using this switch, returns TRUE if some of the voice Parameters are configured (User has some or full configuration)</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>IncludeTenantDialPlan</maml:name>
          <maml:description>
            <maml:para>Optional. By default, only the core requirements for Voice Routing are verified. This extends the requirements to also include the Tenant Dial Plan. Returns FALSE if no or only a TenantDialPlan is assigned</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>ExtensionState</maml:name>
          <maml:description>
            <maml:para>Optional. For DirectRouting, enforces the presence (or absence) of an Extension. Default: NotMeasured No effect for Microsoft Calling Plans</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>NotMeasured</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="1" aliases="none">
        <maml:name>Object</maml:name>
        <maml:description>
          <maml:para>Required for Parameterset Object. CsOnlineUser Object passed to the function to reduce query time.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Object[]</command:parameterValue>
        <dev:type>
          <maml:name>Object[]</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases="ObjectId, Identity">
        <maml:name>UserPrincipalName</maml:name>
        <maml:description>
          <maml:para>Required for Parameterset UserPrincipalName. UserPrincipalName or ObjectId of the Object</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
        <dev:type>
          <maml:name>String[]</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>Partial</maml:name>
        <maml:description>
          <maml:para>Optional. By default, returns TRUE only if all required Parameters are configured (User is fully provisioned) Using this switch, returns TRUE if some of the voice Parameters are configured (User has some or full configuration)</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>IncludeTenantDialPlan</maml:name>
        <maml:description>
          <maml:para>Optional. By default, only the core requirements for Voice Routing are verified. This extends the requirements to also include the Tenant Dial Plan. Returns FALSE if no or only a TenantDialPlan is assigned</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>ExtensionState</maml:name>
        <maml:description>
          <maml:para>Optional. For DirectRouting, enforces the presence (or absence) of an Extension. Default: NotMeasured No effect for Microsoft Calling Plans</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>NotMeasured</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.String</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>Boolean</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>Can be used providing either the UserPrincipalName or the already queried CsOnlineUser Object All conditions require EnterpriseVoiceEnabled to be TRUE (disabled Users will always return FALSE) Partial configuration provides insight for incorrectly provisioned configuration. Tested Parameters for DirectRouting: EnterpriseVoiceEnabled, VoicePolicy, OnlineVoiceRoutingPolicy, LineURI Tested Parameters for CallPlans: EnterpriseVoiceEnabled, VoicePolicy, User License (Domestic or International Calling Plan), TelephoneNumber Tested Parameters for SkypeHybridPSTN: EnterpriseVoiceEnabled, VoicePolicy, VoiceRoutingPolicy, OnlineVoiceRoutingPolicy</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>Test-TeamsUserVoiceConfig -Object $CsOnlineUser</dev:code>
        <dev:remarks>
          <maml:para>Tests a Users Voice Configuration (Direct Routing or Calling Plans) and returns TRUE if ANY configuration is found To reduce query time, the CsOnlineUser Object can be passed to this function</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title>
        <dev:code>Test-TeamsUserVoiceConfig -UserPrincipalName $UserPrincipalName</dev:code>
        <dev:remarks>
          <maml:para>Tests a Users Voice Configuration (Direct Routing or Calling Plans) and returns TRUE if FULL configuration is found</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 3 --------------------------</maml:title>
        <dev:code>Test-TeamsUserVoiceConfig -UserPrincipalName $UserPrincipalName -Partial</dev:code>
        <dev:remarks>
          <maml:para>Tests a Users Voice Configuration (Direct Routing or Calling Plans) and returns TRUE if ANY configuration is found</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 4 --------------------------</maml:title>
        <dev:code>Test-TeamsUserVoiceConfig -UserPrincipalName $UserPrincipalName -IncludeTenantDialPlan</dev:code>
        <dev:remarks>
          <maml:para>Tests a Users Voice Configuration (Direct Routing or Calling Plans) and returns TRUE if FULL configuration is found This requires a Tenant Dial Plan to be assigned as well.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 5 --------------------------</maml:title>
        <dev:code>Test-TeamsUserVoiceConfig -UserPrincipalName $UserPrincipalName -Partial -IncludeTenantDialPlan</dev:code>
        <dev:remarks>
          <maml:para>Tests a Users Voice Configuration (Direct Routing or Calling Plans) and returns TRUE if ANY configuration is found This will treat any Object that only has a Tenant Dial Plan also as partially configured</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Test-TeamsUserVoiceConfig.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Test-TeamsUserVoiceConfig.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_VoiceConfiguration.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_VoiceConfiguration.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://docs.microsoft.com/en-us/microsoftteams/direct-routing-migrating</maml:linkText>
        <maml:uri>https://docs.microsoft.com/en-us/microsoftteams/direct-routing-migrating</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Update-InstalledModule</command:name>
      <command:verb>Update</command:verb>
      <command:noun>InstalledModule</command:noun>
      <maml:description>
        <maml:para>Updates and reloads modules from a Repository.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Updates all local modules that originated from a Repository (PowerShellGallery by default)</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Update-InstalledModule</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>Name</maml:name>
          <maml:description>
            <maml:para>List of modules to update</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">System.Collections.Generic.List`1[System.Object]</command:parameterValue>
          <dev:type>
            <maml:name>System.Collections.Generic.List`1[System.Object]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>@()</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
          <maml:name>Exclude</maml:name>
          <maml:description>
            <maml:para>List of modules to exclude from updating.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">System.Collections.Generic.List`1[System.Object]</command:parameterValue>
          <dev:type>
            <maml:name>System.Collections.Generic.List`1[System.Object]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>@()</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none">
          <maml:name>Scope</maml:name>
          <maml:description>
            <maml:para>String. CurrentUser or AllUsers. Default is CurrentUser.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>CurrentUser</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="4" aliases="none">
          <maml:name>Repository</maml:name>
          <maml:description>
            <maml:para>String. If not provided, targets the PowerShell gallery (PSGallery) EXPERIMENTAL. Untested behaviour may occur for custom repositories (Credential Parameter is not parsed, etc.) Please use "Get-InstalledModule | Where Repository -eq 'MyRepo' | Update-Module" as an alternative</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>PSGallery</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="5" aliases="none">
          <maml:name>Credential</maml:name>
          <maml:description>
            <maml:para>PsCredential. If provided, attaches the Credential on calls to Find-Module and Update-Module respectively. EXPERIMENTAL. Functionality is untested (Additional Parameters of *Module-CmdLets are not provided/parsed)</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">PSCredential</command:parameterValue>
          <dev:type>
            <maml:name>PSCredential</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>[System.Management.Automation.PSCredential]::Empty</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>AllowPrerelease</maml:name>
          <maml:description>
            <maml:para>Updates to latest Version including PreReleases (if found) for every Module discovered</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>SkipMajorVersion</maml:name>
          <maml:description>
            <maml:para>Skip major version updates to account for breaking changes.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi">
          <maml:name>WhatIf</maml:name>
          <maml:description>
            <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf">
          <maml:name>Confirm</maml:name>
          <maml:description>
            <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>Name</maml:name>
        <maml:description>
          <maml:para>List of modules to update</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">System.Collections.Generic.List`1[System.Object]</command:parameterValue>
        <dev:type>
          <maml:name>System.Collections.Generic.List`1[System.Object]</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>@()</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
        <maml:name>Exclude</maml:name>
        <maml:description>
          <maml:para>List of modules to exclude from updating.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">System.Collections.Generic.List`1[System.Object]</command:parameterValue>
        <dev:type>
          <maml:name>System.Collections.Generic.List`1[System.Object]</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>@()</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>AllowPrerelease</maml:name>
        <maml:description>
          <maml:para>Updates to latest Version including PreReleases (if found) for every Module discovered</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>SkipMajorVersion</maml:name>
        <maml:description>
          <maml:para>Skip major version updates to account for breaking changes.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none">
        <maml:name>Scope</maml:name>
        <maml:description>
          <maml:para>String. CurrentUser or AllUsers. Default is CurrentUser.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>CurrentUser</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="4" aliases="none">
        <maml:name>Repository</maml:name>
        <maml:description>
          <maml:para>String. If not provided, targets the PowerShell gallery (PSGallery) EXPERIMENTAL. Untested behaviour may occur for custom repositories (Credential Parameter is not parsed, etc.) Please use "Get-InstalledModule | Where Repository -eq 'MyRepo' | Update-Module" as an alternative</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>PSGallery</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="5" aliases="none">
        <maml:name>Credential</maml:name>
        <maml:description>
          <maml:para>PsCredential. If provided, attaches the Credential on calls to Find-Module and Update-Module respectively. EXPERIMENTAL. Functionality is untested (Additional Parameters of *Module-CmdLets are not provided/parsed)</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">PSCredential</command:parameterValue>
        <dev:type>
          <maml:name>PSCredential</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>[System.Management.Automation.PSCredential]::Empty</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi">
        <maml:name>WhatIf</maml:name>
        <maml:description>
          <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf">
        <maml:name>Confirm</maml:name>
        <maml:description>
          <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.String</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Void</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>Inspired by Barbara Forbes (@ba4bes, https://4bes.nl) 'Update-EveryModule', just separated out into two scripts. This is splitting Update-EveryModule into Update-InstalledModule: Updating modules with options Limit-InstalledModule: Removing old versions except the latest</maml:para>
        <maml:para>The parameters Repository and Credential are added to allow more flexibility with other repositories. They are currently EXPERIMENTAL and untested. Handle with Care!</maml:para>
        <maml:para>To avoid having to confirm a Trusted Source, the InstallationPolicy for the Repository can be set to Trusted with: Set-PSRepository -Name "PsGallery" -InstallationPolicy Trusted Set-PSRepository -Name "MyRepo" -InstallationPolicy Trusted</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>Update-InstalledModule</dev:code>
        <dev:remarks>
          <maml:para>Updates all Modules to latest version found in Repository PowerShellGallery and installs them in the User Scope</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title>
        <dev:code>Update-InstalledModule [-Name] PSReadLine,PowerShellGet -SkipMajorVersion -Scope AllUsers</dev:code>
        <dev:remarks>
          <maml:para>Updates Modules PSReadLine and PowerShellGet to latest version found in Repository PowerShellGallery. Using Switch SkipMajorVersion will only update to the latest minor version currently installed of the module Scope AllUsers requires Administrative Rights. Script will terminate if not run as Administrator</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 3 --------------------------</maml:title>
        <dev:code>Update-InstalledModule [-Name] PSReadLine -AllowPrerelease</dev:code>
        <dev:remarks>
          <maml:para>Updates all Modules to latest version found in Repository PowerShellGallery including PreReleases NOTE: If the Name Parameter is not provided this will update ALL Modules to PreReleases found for each!</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 4 --------------------------</maml:title>
        <dev:code>Update-InstalledModule -Exclude Az</dev:code>
        <dev:remarks>
          <maml:para>Updates all Modules to latest version found in Repository PowerShellGallery, except Az</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 5 --------------------------</maml:title>
        <dev:code>Update-InstalledModule -Repository MyRepo</dev:code>
        <dev:remarks>
          <maml:para>Updates all Modules to latest version found in Repository MyRepo, except Az</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 6 --------------------------</maml:title>
        <dev:code>Update-InstalledModule -Repository MyRepo -Credential $MyPsCredential</dev:code>
        <dev:remarks>
          <maml:para>Authenticating against the Repository MyRepo with the provided Credential $MyCredential; Updates all Modules to latest version found in Repository MyRepo, except Az</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Update-InstalledModule.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Update-InstalledModule.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Limit-InstalledModule.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Limit-InstalledModule.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_ModuleManagement.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_ModuleManagement.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Update-TeamsAutoAttendant</command:name>
      <command:verb>Update</command:verb>
      <command:noun>TeamsAutoAttendant</command:noun>
      <maml:description>
        <maml:para>Changing, amending or replacing the Business Hours Call Flow on existing Auto Attendants; Calling Set-CsAutoAttendant</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Editing exiting Auto Attendants with Set-CsAutoAttendant requires manual creation of objects and surgical replacement. This script tries to simplify editing Auto Attendants by providing four functions: Update-TeamsAutoAttendant covers general Settings of the Auto Attendnat Update-TeamsAutoAttendantBusinessHours covers the Default Call Flow Update-TeamsAutoAttendantAfterHours covers the After Hours Call Flow Update-TeamsAutoAttendantHoliday covers the Holiday Call Flow Each individual Script can replace the full call flow with a previously created object, or amend some specific parts of the respective flow</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Update-TeamsAutoAttendant</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="1" aliases="none">
          <maml:name>Name</maml:name>
          <maml:description>
            <maml:para>Name of the Auto Attendant. Required to locate the Auto Attendant. Alternatively ID of the Auto Attendant for more precise location</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>DisplayName</maml:name>
          <maml:description>
            <maml:para>Optional. Updates the Name of the Auto Attendant. Name will be normalised (unsuitable characters are filtered)</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>TimeZone</maml:name>
          <maml:description>
            <maml:para>Optional. TimeZone Identifier based on Get-CsAutoAttendantSupportedTimeZone, but abbreviated for easier input. Warning: Due to multiple time zone names with in the same relative difference to UTC this MAY produce incongruent output The time zone will be correct, but only specifying "UTC+01:00" for example will select the first entry. Default Value: "UTC"</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>LanguageId</maml:name>
          <maml:description>
            <maml:para>Optional. Language Identifier indicating the language that is used to play text and identify voice prompts. Default Value: "en-US"</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Operator</maml:name>
          <maml:description>
            <maml:para>Optional. Creates a Callable entity for the Operator Expected are UserPrincipalName (User, ResourceAccount), a TelURI (ExternalPstn), an Office 365 Group Name (SharedVoicemail)</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>InclusionScope</maml:name>
          <maml:description>
            <maml:para>Optional. DialScope Object to pass to Set-CsAutoAttendant Object created with New-TeamsAutoAttendantDialScope or Set-CsAutoAttendantDialScope</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
          <dev:type>
            <maml:name>Object</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>ExclusionScope</maml:name>
          <maml:description>
            <maml:para>Optional. DialScope Object to pass to Set-CsAutoAttendant Object created with New-TeamsAutoAttendantDialScope or Set-CsAutoAttendantDialScope</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
          <dev:type>
            <maml:name>Object</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>EnableVoiceResponse</maml:name>
          <maml:description>
            <maml:para>Optional Switch to be passed to Set-CsAutoAttendant</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Boolean</command:parameterValue>
          <dev:type>
            <maml:name>Boolean</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>EnableTranscription</maml:name>
          <maml:description>
            <maml:para>Optional. Where possible, tries to enable Voicemail Transcription. Effective only for SharedVoicemail Targets as an Operator or MenuOption. Otherwise has no effect.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>AuthorizedUsers</maml:name>
          <maml:description>
            <maml:para>Optional. Users allowed to change certain aspects of the Auto Attendant (like Greetings or AudioFiles) These settings are governed by the assigned CsTeamsVoiceApplicationsPolicy (assigned to the User)</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
          <dev:type>
            <maml:name>String[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>VoiceId</maml:name>
          <maml:description>
            <maml:para>Optional. Gender of the Voice for VoiceResponses Instructs the speech interpreter to use a specific gender. Dependent on availability for the selected Language.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>PassThru</maml:name>
          <maml:description>
            <maml:para>Optional. Displays Auto Attendant Object after action.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Suppresses confirmation prompt to enable Users for Enterprise Voice, if Users are specified Currently no other impact</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi">
          <maml:name>WhatIf</maml:name>
          <maml:description>
            <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf">
          <maml:name>Confirm</maml:name>
          <maml:description>
            <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="1" aliases="none">
        <maml:name>Name</maml:name>
        <maml:description>
          <maml:para>Name of the Auto Attendant. Required to locate the Auto Attendant. Alternatively ID of the Auto Attendant for more precise location</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>DisplayName</maml:name>
        <maml:description>
          <maml:para>Optional. Updates the Name of the Auto Attendant. Name will be normalised (unsuitable characters are filtered)</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>TimeZone</maml:name>
        <maml:description>
          <maml:para>Optional. TimeZone Identifier based on Get-CsAutoAttendantSupportedTimeZone, but abbreviated for easier input. Warning: Due to multiple time zone names with in the same relative difference to UTC this MAY produce incongruent output The time zone will be correct, but only specifying "UTC+01:00" for example will select the first entry. Default Value: "UTC"</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>LanguageId</maml:name>
        <maml:description>
          <maml:para>Optional. Language Identifier indicating the language that is used to play text and identify voice prompts. Default Value: "en-US"</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>Operator</maml:name>
        <maml:description>
          <maml:para>Optional. Creates a Callable entity for the Operator Expected are UserPrincipalName (User, ResourceAccount), a TelURI (ExternalPstn), an Office 365 Group Name (SharedVoicemail)</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>InclusionScope</maml:name>
        <maml:description>
          <maml:para>Optional. DialScope Object to pass to Set-CsAutoAttendant Object created with New-TeamsAutoAttendantDialScope or Set-CsAutoAttendantDialScope</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
        <dev:type>
          <maml:name>Object</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>ExclusionScope</maml:name>
        <maml:description>
          <maml:para>Optional. DialScope Object to pass to Set-CsAutoAttendant Object created with New-TeamsAutoAttendantDialScope or Set-CsAutoAttendantDialScope</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
        <dev:type>
          <maml:name>Object</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>EnableVoiceResponse</maml:name>
        <maml:description>
          <maml:para>Optional Switch to be passed to Set-CsAutoAttendant</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Boolean</command:parameterValue>
        <dev:type>
          <maml:name>Boolean</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>EnableTranscription</maml:name>
        <maml:description>
          <maml:para>Optional. Where possible, tries to enable Voicemail Transcription. Effective only for SharedVoicemail Targets as an Operator or MenuOption. Otherwise has no effect.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>AuthorizedUsers</maml:name>
        <maml:description>
          <maml:para>Optional. Users allowed to change certain aspects of the Auto Attendant (like Greetings or AudioFiles) These settings are governed by the assigned CsTeamsVoiceApplicationsPolicy (assigned to the User)</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
        <dev:type>
          <maml:name>String[]</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>VoiceId</maml:name>
        <maml:description>
          <maml:para>Optional. Gender of the Voice for VoiceResponses Instructs the speech interpreter to use a specific gender. Dependent on availability for the selected Language.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>PassThru</maml:name>
        <maml:description>
          <maml:para>Optional. Displays Auto Attendant Object after action.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>Force</maml:name>
        <maml:description>
          <maml:para>Suppresses confirmation prompt to enable Users for Enterprise Voice, if Users are specified Currently no other impact</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi">
        <maml:name>WhatIf</maml:name>
        <maml:description>
          <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf">
        <maml:name>Confirm</maml:name>
        <maml:description>
          <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.String</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>InclusionScope and ExclusionScope Objects can be created with New-TeamsAutoAttendantDialScope and the Group Names This was deliberately not integrated into this CmdLet</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>Update-TeamsAutoAttendant -Name "My Auto Attendant" -DisplayName "Main Number"</dev:code>
        <dev:remarks>
          <maml:para>Updates the Auto Attendant "My Auto Attendant" Name to "Main Number"</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title>
        <dev:code>Update-TeamsAutoAttendant -Name "My Auto Attendant" -TimeZone UTC-05:00 -LanguageId pt-BR -EnableVoiceResponse</dev:code>
        <dev:remarks>
          <maml:para>Updates the Auto Attendant "My Auto Attendant" and sets the TimeZone to UTC-5 and the language to Portuguese (Brazil) Enables VoiceResponses if available not yet enabled.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 3 --------------------------</maml:title>
        <dev:code>Update-TeamsAutoAttendant -Name "My Auto Attendant" -Operator "tel:+1555123456"</dev:code>
        <dev:remarks>
          <maml:para>Updates the Auto Attendant "My Auto Attendant" with an Operator as a Callable Entity (Forward to Pstn)</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 4 --------------------------</maml:title>
        <dev:code>Update-TeamsAutoAttendant -Name "My Auto Attendant" -InclusionScope $InGroups -ExclusionScope $OutGroups</dev:code>
        <dev:remarks>
          <maml:para>Updates the Auto Attendant "My Auto Attendant" and passes through all objects provided. The InclusionScope and ExclusionScope parameters are set with the Scope defined prior.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Update-TeamsAutoAttendant.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Update-TeamsAutoAttendant.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_TeamsAutoAttendant.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_TeamsAutoAttendant.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Update-TeamsAutoAttendantAfterHours</command:name>
      <command:verb>Update</command:verb>
      <command:noun>TeamsAutoAttendantAfterHours</command:noun>
      <maml:description>
        <maml:para>Changing, amending or replacing the After Hours Call Flow on existing Auto Attendants; Calling Set-CsAutoAttendant</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Editing exiting Auto Attendants with Set-CsAutoAttendant requires manual creation of objects and surgical replacement. This script tries to simplify editing Auto Attendants by providing four functions: Update-TeamsAutoAttendant covers general Settings of the Auto Attendnat Update-TeamsAutoAttendantBusinessHours covers the Default Call Flow Update-TeamsAutoAttendantAfterHours covers the After Hours Call Flow Update-TeamsAutoAttendantHoliday covers the Holiday Call Flow Each individual Script can replace the full call flow with a previously created object, or amend some specific parts of the respective flow</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Update-TeamsAutoAttendantAfterHours</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="1" aliases="none">
          <maml:name>Name</maml:name>
          <maml:description>
            <maml:para>Name of the Auto Attendant. Required to locate the Auto Attendant. Alternatively ID of the Auto Attendant for more precise location</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>AfterHoursGreeting</maml:name>
          <maml:description>
            <maml:para>Optional. Creates a Greeting for the After Hours Call Flow utilising New-TeamsAutoAttendantPrompt A supported Audio File or a text string that is parsed by the text-to-voice engine in the Language specified The last 4 digits will determine the type. For an AudioFile they are expected to be the file extension: '.wav', '.wma' or '.mp3' If CallFlows and CallHandlingAssociations are provided, this parameter will be ignored.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>AfterHoursCallFlowOption</maml:name>
          <maml:description>
            <maml:para>Optional. Disconnect, TransferCallToTarget, Menu. TransferCallToTarget requires AfterHoursCallTarget. Menu requires AfterHoursMenu</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>AfterHoursCallTarget</maml:name>
          <maml:description>
            <maml:para>Optional. Requires AfterHoursCallFlowOption to be TransferCallToTarget. Creates a Callable entity for this Call Target Expected are UserPrincipalName (User, ResourceAccount), a TelURI (ExternalPstn), an Office 365 Group Name (SharedVoicemail)</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>AfterHoursMenu</maml:name>
          <maml:description>
            <maml:para>Optional. Requires AfterHoursCallFlowOption to be Menu and a AfterHoursCallTarget</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
          <dev:type>
            <maml:name>Object</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>AfterHoursSchedule</maml:name>
          <maml:description>
            <maml:para>Optional. Default Schedule to apply: One of: MonToFri9to5, MonToFri8to12and13to18, Open24x7 A more granular Schedule can be used with the Parameter -Schedule</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Schedule</maml:name>
          <maml:description>
            <maml:para>Optional. Custom Schedule object to apply for After Hours Call Flow Object created with New-TeamsAutoAttendantSchedule or New-CsAutoAttendantSchedule Using this parameter to provide a Schedule Object will override the Parameter -AfterHoursSchedule</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
          <dev:type>
            <maml:name>Object</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>EnableTranscription</maml:name>
          <maml:description>
            <maml:para>Optional. Where possible, tries to enable Voicemail Transcription. Effective only for SharedVoicemail Targets as an Operator or MenuOption. Otherwise has no effect.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>PassThru</maml:name>
          <maml:description>
            <maml:para>Optional. Displays Auto Attendant Object after action.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Suppresses confirmation prompt to enable Users for Enterprise Voice, if Users are specified Currently no other impact</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi">
          <maml:name>WhatIf</maml:name>
          <maml:description>
            <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf">
          <maml:name>Confirm</maml:name>
          <maml:description>
            <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="1" aliases="none">
        <maml:name>Name</maml:name>
        <maml:description>
          <maml:para>Name of the Auto Attendant. Required to locate the Auto Attendant. Alternatively ID of the Auto Attendant for more precise location</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>AfterHoursGreeting</maml:name>
        <maml:description>
          <maml:para>Optional. Creates a Greeting for the After Hours Call Flow utilising New-TeamsAutoAttendantPrompt A supported Audio File or a text string that is parsed by the text-to-voice engine in the Language specified The last 4 digits will determine the type. For an AudioFile they are expected to be the file extension: '.wav', '.wma' or '.mp3' If CallFlows and CallHandlingAssociations are provided, this parameter will be ignored.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>AfterHoursCallFlowOption</maml:name>
        <maml:description>
          <maml:para>Optional. Disconnect, TransferCallToTarget, Menu. TransferCallToTarget requires AfterHoursCallTarget. Menu requires AfterHoursMenu</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>AfterHoursCallTarget</maml:name>
        <maml:description>
          <maml:para>Optional. Requires AfterHoursCallFlowOption to be TransferCallToTarget. Creates a Callable entity for this Call Target Expected are UserPrincipalName (User, ResourceAccount), a TelURI (ExternalPstn), an Office 365 Group Name (SharedVoicemail)</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>AfterHoursMenu</maml:name>
        <maml:description>
          <maml:para>Optional. Requires AfterHoursCallFlowOption to be Menu and a AfterHoursCallTarget</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
        <dev:type>
          <maml:name>Object</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>AfterHoursSchedule</maml:name>
        <maml:description>
          <maml:para>Optional. Default Schedule to apply: One of: MonToFri9to5, MonToFri8to12and13to18, Open24x7 A more granular Schedule can be used with the Parameter -Schedule</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>Schedule</maml:name>
        <maml:description>
          <maml:para>Optional. Custom Schedule object to apply for After Hours Call Flow Object created with New-TeamsAutoAttendantSchedule or New-CsAutoAttendantSchedule Using this parameter to provide a Schedule Object will override the Parameter -AfterHoursSchedule</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
        <dev:type>
          <maml:name>Object</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>EnableTranscription</maml:name>
        <maml:description>
          <maml:para>Optional. Where possible, tries to enable Voicemail Transcription. Effective only for SharedVoicemail Targets as an Operator or MenuOption. Otherwise has no effect.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>PassThru</maml:name>
        <maml:description>
          <maml:para>Optional. Displays Auto Attendant Object after action.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>Force</maml:name>
        <maml:description>
          <maml:para>Suppresses confirmation prompt to enable Users for Enterprise Voice, if Users are specified Currently no other impact</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi">
        <maml:name>WhatIf</maml:name>
        <maml:description>
          <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf">
        <maml:name>Confirm</maml:name>
        <maml:description>
          <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.String</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>None</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>Update-TeamsAutoAttendantAftersHours -Name "My Auto Attendant" -AftersHoursCallFlowOption TransferCallToTarget -AftersHoursCallTarget User@domain.com -EnableTranscription</dev:code>
        <dev:remarks>
          <maml:para>Changes the Auto Attendant "My Auto Attendant", setting the After Hours Call Flow to TransferCallToTarget, forwarding the call to the User User@domain.com and instructs the Command to enable transcription for all eligible call targets This only is available for SharedVoicemail so will be ignored for this command.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title>
        <dev:code>Update-TeamsAutoAttendantAftersHours -Name "My Auto Attendant" -AftersHoursGreeting "Welcome to Contoso" -AftersHoursCallFlowOption Menu -AftersHoursMenu $MenuObject</dev:code>
        <dev:remarks>
          <maml:para>Changes the Auto Attendant "My Auto Attendant", setting the After Hours Call Flow to Menu, forwarding the call to the Menu provided with the MenuObject and also changing the Greeting to the Text-to-voice string provided.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Update-TeamsAutoAttendantAfterHours.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Update-TeamsAutoAttendantAfterHours.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_TeamsAutoAttendant.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_TeamsAutoAttendant.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Update-TeamsAutoAttendantBusinessHours</command:name>
      <command:verb>Update</command:verb>
      <command:noun>TeamsAutoAttendantBusinessHours</command:noun>
      <maml:description>
        <maml:para>Changing, amending or replacing the Business Hours Call Flow on existing Auto Attendants; Calling Set-CsAutoAttendant</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Editing exiting Auto Attendants with Set-CsAutoAttendant requires manual creation of objects and surgical replacement. This script tries to simplify editing Auto Attendants by providing four functions: Update-TeamsAutoAttendant covers general Settings of the Auto Attendnat Update-TeamsAutoAttendantBusinessHours covers the Default Call Flow Update-TeamsAutoAttendantAfterHours covers the After Hours Call Flow Update-TeamsAutoAttendantHoliday covers the Holiday Call Flow Each individual Script can replace the full call flow with a previously created object, or amend some specific parts of the respective flow</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Update-TeamsAutoAttendantBusinessHours</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="1" aliases="none">
          <maml:name>Name</maml:name>
          <maml:description>
            <maml:para>Name of the Auto Attendant. Required to locate the Auto Attendant. Alternatively ID of the Auto Attendant for more precise location</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>BusinessHoursGreeting</maml:name>
          <maml:description>
            <maml:para>Optional. Replaces the Greeting for the Default Call Flow (during business hours) utilising New-TeamsAutoAttendantPrompt A supported Audio File or a text string that is parsed by the text-to-voice engine in the Language specified The last 4 digits will determine the type. For an AudioFile they are expected to be the file extension: '.wav', '.wma' or '.mp3' If DefaultCallFlow is provided, this parameter will be ignored.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>BusinessHoursCallFlowOption</maml:name>
          <maml:description>
            <maml:para>Optional. Disconnect, TransferCallToTarget, Menu. TransferCallToTarget requires BusinessHoursCallTarget. Menu requires BusinessHoursMenu If DefaultCallFlow is provided, this parameter will be ignored.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>BusinessHoursCallTarget</maml:name>
          <maml:description>
            <maml:para>Optional. Requires BusinessHoursCallFlowOption to be TransferCallToTarget. Creates a Callable entity for this Call Target. Expected are UserPrincipalName (User, ResourceAccount), a TelURI (ExternalPstn), an Office 365 Group Name (SharedVoicemail) If DefaultCallFlow is provided, this parameter will be ignored.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>BusinessHoursMenu</maml:name>
          <maml:description>
            <maml:para>Optional. Requires BusinessHoursCallFlowOption to be Menu and expects an AutoAttendantMenuObject If DefaultCallFlow is provided, this parameter will be ignored.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
          <dev:type>
            <maml:name>Object</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>EnableTranscription</maml:name>
          <maml:description>
            <maml:para>Optional. Where possible, tries to enable Voicemail Transcription. Effective only for SharedVoicemail Targets as an Operator or MenuOption. Otherwise has no effect.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>PassThru</maml:name>
          <maml:description>
            <maml:para>Optional. Displays Auto Attendant Object after action.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Suppresses confirmation prompt to enable Users for Enterprise Voice, if Users are specified Currently no other impact</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi">
          <maml:name>WhatIf</maml:name>
          <maml:description>
            <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf">
          <maml:name>Confirm</maml:name>
          <maml:description>
            <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <command:syntaxItem>
        <maml:name>Update-TeamsAutoAttendantBusinessHours</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="1" aliases="none">
          <maml:name>Name</maml:name>
          <maml:description>
            <maml:para>Name of the Auto Attendant. Required to locate the Auto Attendant. Alternatively ID of the Auto Attendant for more precise location</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>BusinessHoursGreeting</maml:name>
          <maml:description>
            <maml:para>Optional. Replaces the Greeting for the Default Call Flow (during business hours) utilising New-TeamsAutoAttendantPrompt A supported Audio File or a text string that is parsed by the text-to-voice engine in the Language specified The last 4 digits will determine the type. For an AudioFile they are expected to be the file extension: '.wav', '.wma' or '.mp3' If DefaultCallFlow is provided, this parameter will be ignored.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>DefaultCallFlow</maml:name>
          <maml:description>
            <maml:para>Optional. Call Flow Object to pass to Set-CsAutoAttendant (used as the Default Call Flow) Using this parameter to define the default Call Flow overrides all -BusinessHours Parameters</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
          <dev:type>
            <maml:name>Object</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>EnableTranscription</maml:name>
          <maml:description>
            <maml:para>Optional. Where possible, tries to enable Voicemail Transcription. Effective only for SharedVoicemail Targets as an Operator or MenuOption. Otherwise has no effect.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>PassThru</maml:name>
          <maml:description>
            <maml:para>Optional. Displays Auto Attendant Object after action.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Suppresses confirmation prompt to enable Users for Enterprise Voice, if Users are specified Currently no other impact</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi">
          <maml:name>WhatIf</maml:name>
          <maml:description>
            <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf">
          <maml:name>Confirm</maml:name>
          <maml:description>
            <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="1" aliases="none">
        <maml:name>Name</maml:name>
        <maml:description>
          <maml:para>Name of the Auto Attendant. Required to locate the Auto Attendant. Alternatively ID of the Auto Attendant for more precise location</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>BusinessHoursGreeting</maml:name>
        <maml:description>
          <maml:para>Optional. Replaces the Greeting for the Default Call Flow (during business hours) utilising New-TeamsAutoAttendantPrompt A supported Audio File or a text string that is parsed by the text-to-voice engine in the Language specified The last 4 digits will determine the type. For an AudioFile they are expected to be the file extension: '.wav', '.wma' or '.mp3' If DefaultCallFlow is provided, this parameter will be ignored.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>BusinessHoursCallFlowOption</maml:name>
        <maml:description>
          <maml:para>Optional. Disconnect, TransferCallToTarget, Menu. TransferCallToTarget requires BusinessHoursCallTarget. Menu requires BusinessHoursMenu If DefaultCallFlow is provided, this parameter will be ignored.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>BusinessHoursCallTarget</maml:name>
        <maml:description>
          <maml:para>Optional. Requires BusinessHoursCallFlowOption to be TransferCallToTarget. Creates a Callable entity for this Call Target. Expected are UserPrincipalName (User, ResourceAccount), a TelURI (ExternalPstn), an Office 365 Group Name (SharedVoicemail) If DefaultCallFlow is provided, this parameter will be ignored.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>BusinessHoursMenu</maml:name>
        <maml:description>
          <maml:para>Optional. Requires BusinessHoursCallFlowOption to be Menu and expects an AutoAttendantMenuObject If DefaultCallFlow is provided, this parameter will be ignored.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
        <dev:type>
          <maml:name>Object</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>DefaultCallFlow</maml:name>
        <maml:description>
          <maml:para>Optional. Call Flow Object to pass to Set-CsAutoAttendant (used as the Default Call Flow) Using this parameter to define the default Call Flow overrides all -BusinessHours Parameters</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
        <dev:type>
          <maml:name>Object</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>EnableTranscription</maml:name>
        <maml:description>
          <maml:para>Optional. Where possible, tries to enable Voicemail Transcription. Effective only for SharedVoicemail Targets as an Operator or MenuOption. Otherwise has no effect.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>PassThru</maml:name>
        <maml:description>
          <maml:para>Optional. Displays Auto Attendant Object after action.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>Force</maml:name>
        <maml:description>
          <maml:para>Suppresses confirmation prompt to enable Users for Enterprise Voice, if Users are specified Currently no other impact</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi">
        <maml:name>WhatIf</maml:name>
        <maml:description>
          <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf">
        <maml:name>Confirm</maml:name>
        <maml:description>
          <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.String</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>None</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>Update-TeamsAutoAttendantBusinessHours -Name "My Auto Attendant" -TimeZone UTC-05:00</dev:code>
        <dev:remarks>
          <maml:para>Changes the Auto Attendant "My Auto Attendant" and applies the TimeZone to UTC-05:00</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title>
        <dev:code>Update-TeamsAutoAttendantBusinessHours -Name "My Auto Attendant" -LanguageId pt-BR -EnableVoiceResponse</dev:code>
        <dev:remarks>
          <maml:para>Changes the Auto Attendant "My Auto Attendant", setting the language setting to Portuguese (Brazil) It also enables Voice Responses if they are available for the language</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 3 --------------------------</maml:title>
        <dev:code>Update-TeamsAutoAttendantBusinessHours -Name "My Auto Attendant" -Operator "tel:+1555123456" -PassThru</dev:code>
        <dev:remarks>
          <maml:para>Changes the Auto Attendant "My Auto Attendant", setting the Operator as a Callable Entity (Forward to Pstn) PassThru will re-query the Auto Attendant object and display it afterwards.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 4 --------------------------</maml:title>
        <dev:code>Update-TeamsAutoAttendantBusinessHours -Name "My Auto Attendant" -BusinessHoursCallFlowOption TransferCallToTarget -BusinessHoursCallTarget User@domain.com -EnableTranscription</dev:code>
        <dev:remarks>
          <maml:para>Changes the Auto Attendant "My Auto Attendant", setting the Default Call Flow to TransferCallToTarget, forwarding the call to the User User@domain.com and instructs the Command to enable transcription for all eligible call targets This only is available for SharedVoicemail so will be ignored for this command.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 5 --------------------------</maml:title>
        <dev:code>Update-TeamsAutoAttendantBusinessHours -Name "My Auto Attendant" -BusinessHoursGreeting "Welcome to Contoso" -BusinessHoursCallFlowOption Menu -BusinessHoursMenu $MenuObject</dev:code>
        <dev:remarks>
          <maml:para>Changes the Auto Attendant "My Auto Attendant", setting the Default Call Flow to Menu, forwarding the call to the Menu provided with the MenuObject and also changing the Greeting to the Text-to-voice string provided.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Update-TeamsAutoAttendantBusinessHours.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Update-TeamsAutoAttendantBusinessHours.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_TeamsAutoAttendant.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_TeamsAutoAttendant.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Update-TeamsAutoAttendantHoliday</command:name>
      <command:verb>Update</command:verb>
      <command:noun>TeamsAutoAttendantHoliday</command:noun>
      <maml:description>
        <maml:para>Changing, amending or replacing the Holiday Call Flow on existing Auto Attendants; Calling Set-CsAutoAttendant</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Editing exiting Auto Attendants with Set-CsAutoAttendant requires manual creation of objects and surgical replacement. This script tries to simplify editing Auto Attendants by providing four functions: Update-TeamsAutoAttendant covers general Settings of the Auto Attendnat Update-TeamsAutoAttendantBusinessHours covers the Default Call Flow Update-TeamsAutoAttendantAfterHours covers the After Hours Call Flow Update-TeamsAutoAttendantHoliday covers the Holiday Call Flow Each individual Script can replace the full call flow with a previously created object, or amend some specific parts of the respective flow</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Update-TeamsAutoAttendantHoliday</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="1" aliases="none">
          <maml:name>Name</maml:name>
          <maml:description>
            <maml:para>Name of the Auto Attendant. Required to locate the Auto Attendant. Alternatively ID of the Auto Attendant for more precise location</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>HolidaySetGreeting</maml:name>
          <maml:description>
            <maml:para>Optional. Creates a Greeting for the Holiday Set Call Flow utilising New-TeamsAutoAttendantPrompt A supported Audio File or a text string that is parsed by the text-to-voice engine in the Language specified The last 4 digits will determine the type. For an AudioFile they are expected to be the file extension: '.wav', '.wma' or '.mp3' If no Schedule is provided, this setting will be applied to all Holiday Call Flows</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>HolidaySetCallFlowOption</maml:name>
          <maml:description>
            <maml:para>Optional. Disconnect, TransferCallToTarget, Menu. TransferCallToTarget requires HolidaySetCallTarget. Menu requires HolidaySetMenu If no Schedule is provided, this setting will be applied to all Holiday Call Flows</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>HolidaySetCallTarget</maml:name>
          <maml:description>
            <maml:para>Optional. Requires HolidaySetCallFlowOption to be TransferCallToTarget. Creates a Callable entity for this Call Target Expected are UserPrincipalName (User, ResourceAccount), a TelURI (ExternalPstn), an Office 365 Group Name (SharedVoicemail) If no Schedule is provided, this setting will be applied to all Holiday Call Flows</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>EnableTranscription</maml:name>
          <maml:description>
            <maml:para>Optional. Where possible, tries to enable Voicemail Transcription. Effective only for SharedVoicemail Targets as an Operator or MenuOption. Otherwise has no effect.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>PassThru</maml:name>
          <maml:description>
            <maml:para>Optional. Displays Auto Attendant Object after action.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Suppresses confirmation prompt where applicable. Handle with care!</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi">
          <maml:name>WhatIf</maml:name>
          <maml:description>
            <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf">
          <maml:name>Confirm</maml:name>
          <maml:description>
            <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <command:syntaxItem>
        <maml:name>Update-TeamsAutoAttendantHoliday</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="1" aliases="none">
          <maml:name>Name</maml:name>
          <maml:description>
            <maml:para>Name of the Auto Attendant. Required to locate the Auto Attendant. Alternatively ID of the Auto Attendant for more precise location</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>HolidaySetGreeting</maml:name>
          <maml:description>
            <maml:para>Optional. Creates a Greeting for the Holiday Set Call Flow utilising New-TeamsAutoAttendantPrompt A supported Audio File or a text string that is parsed by the text-to-voice engine in the Language specified The last 4 digits will determine the type. For an AudioFile they are expected to be the file extension: '.wav', '.wma' or '.mp3' If no Schedule is provided, this setting will be applied to all Holiday Call Flows</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>HolidaySetCallFlowOption</maml:name>
          <maml:description>
            <maml:para>Optional. Disconnect, TransferCallToTarget, Menu. TransferCallToTarget requires HolidaySetCallTarget. Menu requires HolidaySetMenu If no Schedule is provided, this setting will be applied to all Holiday Call Flows</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>HolidaySetCallTarget</maml:name>
          <maml:description>
            <maml:para>Optional. Requires HolidaySetCallFlowOption to be TransferCallToTarget. Creates a Callable entity for this Call Target Expected are UserPrincipalName (User, ResourceAccount), a TelURI (ExternalPstn), an Office 365 Group Name (SharedVoicemail) If no Schedule is provided, this setting will be applied to all Holiday Call Flows</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>HolidaySetMenu</maml:name>
          <maml:description>
            <maml:para>Optional. Requires HolidaySetCallFlowOption to be Menu and a HolidaySetCallTarget If no Schedule is provided, this setting will be applied to all Holiday Call Flows</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
          <dev:type>
            <maml:name>Object</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>HolidaySetSchedule</maml:name>
          <maml:description>
            <maml:para>Optional. Default Schedule to apply: Either a 2-digit Country Code to create the schedule for the next three years for, a Schedule Object created beforehand or an existing Schedule Object ID already created in the Tenant If not provided, an alternative behavior is triggered. Please see Notes for details!</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
          <dev:type>
            <maml:name>Object</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Replace</maml:name>
          <maml:description>
            <maml:para>Replaces all Holiday Call Flows with one created through this Cmdlet. If not provided, will add a Call Flow instead.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>EnableTranscription</maml:name>
          <maml:description>
            <maml:para>Optional. Where possible, tries to enable Voicemail Transcription. Effective only for SharedVoicemail Targets as an Operator or MenuOption. Otherwise has no effect.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>PassThru</maml:name>
          <maml:description>
            <maml:para>Optional. Displays Auto Attendant Object after action.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Suppresses confirmation prompt where applicable. Handle with care!</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi">
          <maml:name>WhatIf</maml:name>
          <maml:description>
            <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf">
          <maml:name>Confirm</maml:name>
          <maml:description>
            <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <command:syntaxItem>
        <maml:name>Update-TeamsAutoAttendantHoliday</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="1" aliases="none">
          <maml:name>Name</maml:name>
          <maml:description>
            <maml:para>Name of the Auto Attendant. Required to locate the Auto Attendant. Alternatively ID of the Auto Attendant for more precise location</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>HolidaySetGreeting</maml:name>
          <maml:description>
            <maml:para>Optional. Creates a Greeting for the Holiday Set Call Flow utilising New-TeamsAutoAttendantPrompt A supported Audio File or a text string that is parsed by the text-to-voice engine in the Language specified The last 4 digits will determine the type. For an AudioFile they are expected to be the file extension: '.wav', '.wma' or '.mp3' If no Schedule is provided, this setting will be applied to all Holiday Call Flows</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>HolidaySetMenu</maml:name>
          <maml:description>
            <maml:para>Optional. Requires HolidaySetCallFlowOption to be Menu and a HolidaySetCallTarget If no Schedule is provided, this setting will be applied to all Holiday Call Flows</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
          <dev:type>
            <maml:name>Object</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>EnableTranscription</maml:name>
          <maml:description>
            <maml:para>Optional. Where possible, tries to enable Voicemail Transcription. Effective only for SharedVoicemail Targets as an Operator or MenuOption. Otherwise has no effect.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>PassThru</maml:name>
          <maml:description>
            <maml:para>Optional. Displays Auto Attendant Object after action.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Suppresses confirmation prompt where applicable. Handle with care!</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi">
          <maml:name>WhatIf</maml:name>
          <maml:description>
            <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf">
          <maml:name>Confirm</maml:name>
          <maml:description>
            <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <command:syntaxItem>
        <maml:name>Update-TeamsAutoAttendantHoliday</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="1" aliases="none">
          <maml:name>Name</maml:name>
          <maml:description>
            <maml:para>Name of the Auto Attendant. Required to locate the Auto Attendant. Alternatively ID of the Auto Attendant for more precise location</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>HolidaySetGreeting</maml:name>
          <maml:description>
            <maml:para>Optional. Creates a Greeting for the Holiday Set Call Flow utilising New-TeamsAutoAttendantPrompt A supported Audio File or a text string that is parsed by the text-to-voice engine in the Language specified The last 4 digits will determine the type. For an AudioFile they are expected to be the file extension: '.wav', '.wma' or '.mp3' If no Schedule is provided, this setting will be applied to all Holiday Call Flows</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>SetMenuOption</maml:name>
          <maml:description>
            <maml:para>Sets or replaces a Menu Option with the provided Menu Options Object.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Object[]</command:parameterValue>
          <dev:type>
            <maml:name>Object[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>EnableTranscription</maml:name>
          <maml:description>
            <maml:para>Optional. Where possible, tries to enable Voicemail Transcription. Effective only for SharedVoicemail Targets as an Operator or MenuOption. Otherwise has no effect.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>PassThru</maml:name>
          <maml:description>
            <maml:para>Optional. Displays Auto Attendant Object after action.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Suppresses confirmation prompt where applicable. Handle with care!</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi">
          <maml:name>WhatIf</maml:name>
          <maml:description>
            <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf">
          <maml:name>Confirm</maml:name>
          <maml:description>
            <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="1" aliases="none">
        <maml:name>Name</maml:name>
        <maml:description>
          <maml:para>Name of the Auto Attendant. Required to locate the Auto Attendant. Alternatively ID of the Auto Attendant for more precise location</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>HolidaySetGreeting</maml:name>
        <maml:description>
          <maml:para>Optional. Creates a Greeting for the Holiday Set Call Flow utilising New-TeamsAutoAttendantPrompt A supported Audio File or a text string that is parsed by the text-to-voice engine in the Language specified The last 4 digits will determine the type. For an AudioFile they are expected to be the file extension: '.wav', '.wma' or '.mp3' If no Schedule is provided, this setting will be applied to all Holiday Call Flows</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>HolidaySetCallFlowOption</maml:name>
        <maml:description>
          <maml:para>Optional. Disconnect, TransferCallToTarget, Menu. TransferCallToTarget requires HolidaySetCallTarget. Menu requires HolidaySetMenu If no Schedule is provided, this setting will be applied to all Holiday Call Flows</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>HolidaySetCallTarget</maml:name>
        <maml:description>
          <maml:para>Optional. Requires HolidaySetCallFlowOption to be TransferCallToTarget. Creates a Callable entity for this Call Target Expected are UserPrincipalName (User, ResourceAccount), a TelURI (ExternalPstn), an Office 365 Group Name (SharedVoicemail) If no Schedule is provided, this setting will be applied to all Holiday Call Flows</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>HolidaySetMenu</maml:name>
        <maml:description>
          <maml:para>Optional. Requires HolidaySetCallFlowOption to be Menu and a HolidaySetCallTarget If no Schedule is provided, this setting will be applied to all Holiday Call Flows</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
        <dev:type>
          <maml:name>Object</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>HolidaySetSchedule</maml:name>
        <maml:description>
          <maml:para>Optional. Default Schedule to apply: Either a 2-digit Country Code to create the schedule for the next three years for, a Schedule Object created beforehand or an existing Schedule Object ID already created in the Tenant If not provided, an alternative behavior is triggered. Please see Notes for details!</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
        <dev:type>
          <maml:name>Object</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>Replace</maml:name>
        <maml:description>
          <maml:para>Replaces all Holiday Call Flows with one created through this Cmdlet. If not provided, will add a Call Flow instead.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>SetMenuOption</maml:name>
        <maml:description>
          <maml:para>Sets or replaces a Menu Option with the provided Menu Options Object.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Object[]</command:parameterValue>
        <dev:type>
          <maml:name>Object[]</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>EnableTranscription</maml:name>
        <maml:description>
          <maml:para>Optional. Where possible, tries to enable Voicemail Transcription. Effective only for SharedVoicemail Targets as an Operator or MenuOption. Otherwise has no effect.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>PassThru</maml:name>
        <maml:description>
          <maml:para>Optional. Displays Auto Attendant Object after action.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>Force</maml:name>
        <maml:description>
          <maml:para>Suppresses confirmation prompt where applicable. Handle with care!</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi">
        <maml:name>WhatIf</maml:name>
        <maml:description>
          <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf">
        <maml:name>Confirm</maml:name>
        <maml:description>
          <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.String</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>Provides an alternative to Set-CsAutoAttendant, allowing for some options to be replaced more easily. This CmdLet has two main functions: With the HolidaySetSchedule parameter it can generate a new Call Flow and either add it or replace all existing Flows. Without the HolidaySetSchedule parameter it can replace existing functionality on ALL Holiday Call Flows. Handle with care.</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>Update-TeamsAutoAttendantHoliday -Name "My Auto Attendant" -HolidayCallFlowOption TransferCallToTarget -HolidayCallTarget User@domain.com -EnableTranscription</dev:code>
        <dev:remarks>
          <maml:para>Changes the Auto Attendant "My Auto Attendant", adding a Holiday Call Flow to TransferCallToTarget, forwarding the call to the User User@domain.com and instructs the Command to enable transcription for all eligible call targets This only is available for SharedVoicemail so will be ignored for this command. As no HolidaySetSchedule is provided, this will create an empty schedule that is never in effect. Please amend manually in the Admin Center afterwards</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title>
        <dev:code>Update-TeamsAutoAttendantHoliday -Name "My Auto Attendant" -HolidayGreeting "Welcome to Contoso" -HolidayCallFlowOption Menu -HolidayMenu $MenuObject -HolidaySetSchedule US</dev:code>
        <dev:remarks>
          <maml:para>Changes the Auto Attendant "My Auto Attendant", adding a Holiday Call Flow to Menu, forwarding the call to the Menu provided with the MenuObject and also changing the Greeting to the Text-to-voice string provided. This will create a new Schedule for public Holidays for the US for the current year and the following two years and apply all provided settings to each HolidaySet</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Update-TeamsAutoAttendantHoliday.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Update-TeamsAutoAttendantHoliday.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_TeamsAutoAttendant.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_TeamsAutoAttendant.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Update-TeamsAutoAttendantMenu</command:name>
      <command:verb>Update</command:verb>
      <command:noun>TeamsAutoAttendantMenu</command:noun>
      <maml:description>
        <maml:para>Updates a Menu Object for an existing Auto Attendant</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Updates a Menu Object with Prompt and/or MenuOptions or any Menu Settings to update existing Auto Attendants This Cmdlet aims to update full Menus only. Updating Menus that Redirect or Disconnect will throw an Error. Use this Cmdlet to update the Name, Prompt, add or replace one or more Menu Options or set Search Method or DialByName.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Update-TeamsAutoAttendantMenu</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="named" aliases="none">
          <maml:name>Menu</maml:name>
          <maml:description>
            <maml:para>Menu Object. Required. Accepts Pipeline Input of a Menu Object or a Call Flow Object</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
          <dev:type>
            <maml:name>Object</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Prompts</maml:name>
          <maml:description>
            <maml:para>A Prompts Object, String or Full path to AudioFile. A Prompts Object will be used as is, otherwise it will be created dependent of the provided String A String will be used as Text-to-Voice. A File path ending in .wav, .mp3 or .wma will be used to create a recording.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
          <dev:type>
            <maml:name>Object</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>MenuOptions</maml:name>
          <maml:description>
            <maml:para>MenuOptions objects created with either New-TeamsAutoAttendantMenuOption or New-CsAutoAttenantMenuOption. Options that have a DtmfResponse that is present get replaced Options that have a DtmfResponse that is not yet part of the menu will be added. NOTE: Please update the Prompt to reflect these new options for the caller</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Object[]</command:parameterValue>
          <dev:type>
            <maml:name>Object[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="DtmfResponseTone">
          <maml:name>RemoveMenuOption</maml:name>
          <maml:description>
            <maml:para>MenuOption(s) to be removed from the menu. This is processed before the provided Menu Options are parsed</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
          <dev:type>
            <maml:name>String[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Name</maml:name>
          <maml:description>
            <maml:para>Optional. Sets the Name of the Menu to this value if possible.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>DialByNameEnabled</maml:name>
          <maml:description>
            <maml:para>Enables Dial by Name</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Boolean</command:parameterValue>
          <dev:type>
            <maml:name>Boolean</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>DirectorySearchMethod</maml:name>
          <maml:description>
            <maml:para>String. Sets the Directory Search Method: None, ByName, ByExtension</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
          <dev:type>
            <maml:name>Object</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi">
          <maml:name>WhatIf</maml:name>
          <maml:description>
            <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf">
          <maml:name>Confirm</maml:name>
          <maml:description>
            <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="named" aliases="none">
        <maml:name>Menu</maml:name>
        <maml:description>
          <maml:para>Menu Object. Required. Accepts Pipeline Input of a Menu Object or a Call Flow Object</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
        <dev:type>
          <maml:name>Object</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>Prompts</maml:name>
        <maml:description>
          <maml:para>A Prompts Object, String or Full path to AudioFile. A Prompts Object will be used as is, otherwise it will be created dependent of the provided String A String will be used as Text-to-Voice. A File path ending in .wav, .mp3 or .wma will be used to create a recording.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
        <dev:type>
          <maml:name>Object</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>MenuOptions</maml:name>
        <maml:description>
          <maml:para>MenuOptions objects created with either New-TeamsAutoAttendantMenuOption or New-CsAutoAttenantMenuOption. Options that have a DtmfResponse that is present get replaced Options that have a DtmfResponse that is not yet part of the menu will be added. NOTE: Please update the Prompt to reflect these new options for the caller</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Object[]</command:parameterValue>
        <dev:type>
          <maml:name>Object[]</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="DtmfResponseTone">
        <maml:name>RemoveMenuOption</maml:name>
        <maml:description>
          <maml:para>MenuOption(s) to be removed from the menu. This is processed before the provided Menu Options are parsed</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
        <dev:type>
          <maml:name>String[]</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>Name</maml:name>
        <maml:description>
          <maml:para>Optional. Sets the Name of the Menu to this value if possible.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>DialByNameEnabled</maml:name>
        <maml:description>
          <maml:para>Enables Dial by Name</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Boolean</command:parameterValue>
        <dev:type>
          <maml:name>Boolean</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>DirectorySearchMethod</maml:name>
        <maml:description>
          <maml:para>String. Sets the Directory Search Method: None, ByName, ByExtension</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
        <dev:type>
          <maml:name>Object</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="wi">
        <maml:name>WhatIf</maml:name>
        <maml:description>
          <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="cf">
        <maml:name>Confirm</maml:name>
        <maml:description>
          <maml:para>Prompts you for confirmation before running the cmdlet.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>This CmdLet does deliberately not offer the same options as New-TeamsAutoAttendantMenu does. The use-case for this Cmdlet is to be called by Update-TeamsAutoAttendant CmdLets and to simplify updating of a Menu with Menu Options New-TeamsAutoAttendantMenu can be used to create a whole new Menu if it is desired to be replaced.</maml:para>
        <maml:para>To define Menu Options manually, please see: https://docs.microsoft.com/en-us/powershell/module/skype/new-csautoattendantmenuoption?view=skype-ps</maml:para>
        <maml:para>Please see 'Set up an auto attendant' for details: https://docs.microsoft.com/en-us/MicrosoftTeams/create-a-phone-system-auto-attendant?WT.mc_id=TeamsAdminCenterCSH</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>Update-TeamsAutoAttendantMenu -Menu $Menu -Prompts "Press 1 for Sales..." -MenuOptions $MenuOptions</dev:code>
        <dev:remarks>
          <maml:para>Updates the Menu Prompt with the provided Text-to-Voice string</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title>
        <dev:code>Update-TeamsAutoAttendantMenu -Menu $Menu -Prompts $Prompts -MenuOptions $MenuOptions</dev:code>
        <dev:remarks>
          <maml:para>Updates the Menu Prompt with the Prompts-Object and parses each Menu Option provided in the Array $MenuOptions. Options that have a DtmfResponse that is present get replaced Options that have a DtmfResponse that is not yet part of the menu will be added.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Update-TeamsAutoAttendantMenu.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Update-TeamsAutoAttendantMenu.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_TeamsAutoAttendant.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_TeamsAutoAttendant.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://docs.microsoft.com/en-us/MicrosoftTeams/create-a-phone-system-auto-attendant?WT.mc_id=TeamsAdminCenterCSH</maml:linkText>
        <maml:uri>https://docs.microsoft.com/en-us/MicrosoftTeams/create-a-phone-system-auto-attendant?WT.mc_id=TeamsAdminCenterCSH</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://docs.microsoft.com/en-us/powershell/module/skype/new-csautoattendantmenuoption?view=skype-ps</maml:linkText>
        <maml:uri>https://docs.microsoft.com/en-us/powershell/module/skype/new-csautoattendantmenuoption?view=skype-ps</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Write-BetterProgress</command:name>
      <command:verb>Write</command:verb>
      <command:noun>BetterProgress</command:noun>
      <maml:description>
        <maml:para>Wrapper for Write-Progress to improve consistency with output</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>This function improves upon Write-Progress to display more consistent and meaningful progress bars</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Write-BetterProgress</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>ID</maml:name>
          <maml:description>
            <maml:para>Required. Synonymous with Write-Progress Parameter Id Id to bind it to. Could have been omitted, but for consistent input it should be clearly stated.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
          <dev:type>
            <maml:name>Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
          <maml:name>ParentId</maml:name>
          <maml:description>
            <maml:para>Optional. Synonymous with Write-Progress Parameter ParentId Parent Id to bind it to. If not provided will be assumed one less than the ID provided. For Example: Id 2 will result in the Parent ID being calculated as ParentId 1</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
          <dev:type>
            <maml:name>Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none">
          <maml:name>Activity</maml:name>
          <maml:description>
            <maml:para>Required. Synonymous with Write-Progress Parameter Activity When called in Functions, $MyInvocation.MyCommand is a good activity. When called in ID higher than 0, the activity should display what is being worked on (Loop item, etc.)</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="4" aliases="none">
          <maml:name>Status</maml:name>
          <maml:description>
            <maml:para>Required. Synonymous with Write-Progress Parameter Status Message to display as a Status. This can be the current operation if this level of granularity is enough</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="5" aliases="none">
          <maml:name>CurrentOperation</maml:name>
          <maml:description>
            <maml:para>Optional. Synonymous with Write-Progress Parameter CurrentOperation Provides more granularity over the Status if required.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="6" aliases="none">
          <maml:name>Step</maml:name>
          <maml:description>
            <maml:para>Required. Current Step to display progress for Calculates Write-Progress Parameter PercentComplete with (StepNumber / StepTotal ) * 100</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
          <dev:type>
            <maml:name>Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="7" aliases="none">
          <maml:name>Of</maml:name>
          <maml:description>
            <maml:para>Required. Total Steps to calculate from Calculates Write-Progress Parameter PercentComplete with (StepNumber / StepTotal ) * 100 If not provided or received as 0, will be assumed as 100 to avoid running into errors</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
          <dev:type>
            <maml:name>Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>ID</maml:name>
        <maml:description>
          <maml:para>Required. Synonymous with Write-Progress Parameter Id Id to bind it to. Could have been omitted, but for consistent input it should be clearly stated.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
        <dev:type>
          <maml:name>Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>0</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
        <maml:name>ParentId</maml:name>
        <maml:description>
          <maml:para>Optional. Synonymous with Write-Progress Parameter ParentId Parent Id to bind it to. If not provided will be assumed one less than the ID provided. For Example: Id 2 will result in the Parent ID being calculated as ParentId 1</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
        <dev:type>
          <maml:name>Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>0</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none">
        <maml:name>Activity</maml:name>
        <maml:description>
          <maml:para>Required. Synonymous with Write-Progress Parameter Activity When called in Functions, $MyInvocation.MyCommand is a good activity. When called in ID higher than 0, the activity should display what is being worked on (Loop item, etc.)</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="4" aliases="none">
        <maml:name>Status</maml:name>
        <maml:description>
          <maml:para>Required. Synonymous with Write-Progress Parameter Status Message to display as a Status. This can be the current operation if this level of granularity is enough</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="5" aliases="none">
        <maml:name>CurrentOperation</maml:name>
        <maml:description>
          <maml:para>Optional. Synonymous with Write-Progress Parameter CurrentOperation Provides more granularity over the Status if required.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="6" aliases="none">
        <maml:name>Step</maml:name>
        <maml:description>
          <maml:para>Required. Current Step to display progress for Calculates Write-Progress Parameter PercentComplete with (StepNumber / StepTotal ) * 100</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
        <dev:type>
          <maml:name>Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>0</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="7" aliases="none">
        <maml:name>Of</maml:name>
        <maml:description>
          <maml:para>Required. Total Steps to calculate from Calculates Write-Progress Parameter PercentComplete with (StepNumber / StepTotal ) * 100 If not provided or received as 0, will be assumed as 100 to avoid running into errors</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
        <dev:type>
          <maml:name>Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>0</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.String</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Progress</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>Inspired by Adam Betrams wonderful take on 'A Better Way to Use Write-Progress' https://adamtheautomator.com/write-progress/</maml:para>
        <maml:para>This wrapper functions supports all parameters except Completed. Please use the following to cleanly complete your progress bar (swap ID and Activity as required): Write-Progress -Id 0 -Activity $MyInvocation.MyCommand -Completed</maml:para>
        <maml:para>NOTE: Run this BEFORE Write-Output or RETURN commands as some terminals suffer from a bleed-through effect that super-imposes the Progress over the output: https://github.com/microsoft/vscode/issues/118661</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>Write-BetterProgress -Id 0 -Activity $MyInvocation.MyCommand -Step $i -of 10</dev:code>
        <dev:remarks>
          <maml:para>Assumes running an a foreach loop of 'foreach ($i in (1..10)) {Write-BetterProgress -Id 0...}' Displays the Progress for ID 0 - with the activity set to the calling command (useful when used in a Function)</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title>
        <dev:code>Write-BetterProgress -Id 0 -Activity $MyInvocation.MyCommand -Status "Step $i" -Step $i -of 10</dev:code>
        <dev:remarks>
          <maml:para>Assumes running an a foreach loop of 'foreach ($i in (1..10)) {Write-BetterProgress -Id 0...}' Displays the Progress for ID 0 - with the activity set to the calling command (useful when used in a Function) Displays the Status</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 3 --------------------------</maml:title>
        <dev:code>Write-BetterProgress -Id 0 -Activity $MyInvocation.MyCommand -CurrentOperation "Task X" -Step $i -of 10</dev:code>
        <dev:remarks>
          <maml:para>Assumes running an a foreach loop of 'foreach ($i in (1..10)) {Write-BetterProgress -Id 0...}' Displays the Progress for ID 0 - with the activity set to the calling command (useful when used in a Function) Displays the Current Operation</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 4 --------------------------</maml:title>
        <dev:code>Write-BetterProgress -Id 0 -Activity $MyInvocation.MyCommand -Status "Step $i" -CurrentOperation "Task X" -Step $i -of 10</dev:code>
        <dev:remarks>
          <maml:para>Assumes running an a foreach loop of 'foreach ($i in (1..10)) {Write-BetterProgress -Id 0...}' Displays the Progress for ID 0 - with the activity set to the calling command (useful when used in a Function) Displays the Status and the Current Operation</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 5 --------------------------</maml:title>
        <dev:code>Write-BetterProgress -Id 0 -Activity $MyInvocation.MyCommand -Status "" -CurrentOperation "" -Step $i -of 10</dev:code>
        <dev:remarks>
          <maml:para>Assumes running an a foreach loop of 'foreach ($i in (1..10)) {Write-BetterProgress -Id 0...}' Displays the Progress for ID 0 - with the activity set to the calling command (useful when used in a Function) Contrary to Write-Progress, allows passing of empty strings to the omit displays of Status and/or Current Operation</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 6 --------------------------</maml:title>
        <dev:code>Write-BetterProgress -Id 1 -Activity "Processing Item #$i" -Status "Step $i - Substep $j" -Step $j -of 10</dev:code>
        <dev:remarks>
          <maml:para>Assumes running an a foreach loop of 'foreach ($j in (1..10)) {Write-BetterProgress -Id 1...}' Displays the Progress for ID 1 - with the activity set to the calling command (useful when used in a Function) NOTE: The ParentId is set to 0 automatically (one less than the ID provided, unless Parameter ParentId is used)</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 7 --------------------------</maml:title>
        <dev:code>Write-BetterProgress -Id 2 -ParentId 1 -Activity 'Looping through Activities' -CurrentOperation 'Displaying Level 3' -Status "Step $i - Substep $j - iteration $k" -Step $k -of 10</dev:code>
        <dev:remarks>
          <maml:para>Assumes running an a foreach loop of 'foreach ($k in (1..10)) {Write-BetterProgress -Id 2...}' Displays the Progress for ID 2 - with the Parent ID set to 1 (this is calculated to 1 anyway, but can be overridden) CurrentOperation is optional and will display another line below if needed for more granularity.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Write-BetterProgress.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Write-BetterProgress.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_Supporting_Functions.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_Supporting_Functions.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Write-TFErrorLog</command:name>
      <command:verb>Write</command:verb>
      <command:noun>TFErrorLog</command:noun>
      <maml:description>
        <maml:para>Writes an Error-log for an Artifact to the FilePath</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Writes a log entry to a file</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Write-TFErrorLog</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases="none">
          <maml:name>ErrorLog</maml:name>
          <maml:description>
            <maml:para>Required. Text to log</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
          <dev:type>
            <maml:name>Object</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Artifact</maml:name>
          <maml:description>
            <maml:para>Required. Affected object this error was received for</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>LogPath</maml:name>
          <maml:description>
            <maml:para>Optional. Path to write log file to. If not provided, log is written to C:\Temp</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases="none">
        <maml:name>ErrorLog</maml:name>
        <maml:description>
          <maml:para>Required. Text to log</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
        <dev:type>
          <maml:name>Object</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>Artifact</maml:name>
        <maml:description>
          <maml:para>Required. Affected object this error was received for</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>LogPath</maml:name>
        <maml:description>
          <maml:para>Optional. Path to write log file to. If not provided, log is written to C:\Temp</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.String</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.File</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>Just my take on writing consistent error logs that are easily digestible NOTE: If a new Hour starts, a new file will be written.</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>Write-TFErrorLog -ErrorLog "UserNotFound" -Artifact "john@domain.com"</dev:code>
        <dev:remarks>
          <maml:para>Writes the current timestamp followed by the Artifact in one line and the ErrorLog in the second line. Creates a file in C:\Temp with the current date, and hour followed by the function calling Write-TFErrorLog</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title>
        <dev:code>Write-TFErrorLog -ErrorLog $Log -Artifact "john@domain.com" -LogPath C:\Logs\Today</dev:code>
        <dev:remarks>
          <maml:para>Writes the current timestamp followed by the Artifact in one line and the ErrorLog in the second line. If $Log is an Arraylist, will write multiple errors in one go. Creates a file in C:\Logs\Today with the current date, and hour followed by the function calling Write-TFErrorLog</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Write-TFErrorLog.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Write-TFErrorLog.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_Supporting_Functions.md</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_Supporting_Functions.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:linkText>
        <maml:uri>https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
</helpItems>