docs/about_Supporting_Functions.help.txt

TOPIC
    about_supporting_functions
 
SHORT DESCRIPTION
    Support Functions not part of the main focus
 
LONG DESCRIPTION
    Functions that do not build the core of this module, but nevertheless are
    usefull additions to it. Covering Backup, Testing, Assertions and other
    Helper functions for public use. Private Functions are not listed.
 
CmdLets
    BACKUP AND RESTORE
    Taking a backup of every outputable CmdLet that Teams has to offer. Curtesy
    of Ken Lasko
    | Function | Description
                                                                                 
                      | | ---------------------------------------------------: |
    -------------------------------------------------------------------------------------------------------------------
    | |
    `Backup-TeamsEV`
    | Takes a backup of all EnterpriseVoice related features in Teams.
                                             | |
    `Restore-TeamsEV`
    | Makes a full authoritative restore of all EnterpriseVoice related
    features. Handle with care! | |
    `Backup-TeamsTenant`
    | An adaptation of the above, backing up as much as can be gathered through
    available `Get`-Commands from the tenant. |
    > [!NOTE] The Get-Commands in this function is currently static. While this
    is fine for Backup-TeamsEV, `Backup-TeamsTenant` may see drift as a result.
    If additional Get-Commands are added to Teams, this command will need an
    update. Please let me know. An Automatic mechanism to discover these is
    desired.
 
    HELPER FUNCTIONS
    String reformatting is needed to normalise Numbers as E.164 numbers and
    allow a more diverse input (like: `'+1(555)-1234 567'`) it also serves to
    normalise DisplayNames and UPNs should characters be used that are not allowed.
    | Function
               | Description
                                                                 | |
    -------------------------------------------------------------------------------------:
    |
    ----------------------------------------------------------------------------------------------------------------------------
    | |
    `Format-StringForUse`
    | Prepares a string for use as DisplayName, UserPrincipalName, LineUri or
    E.164 Number, removing special characters as needed. | |
    `Format-StringRemoveSpecialCharacter`
    | |
    `Get-PublicHolidayCountry`
    | |
    `Get-PublicHolidayList`
    | |
    `Get-RegionFromCountryCode`
    a specific country is in. | |
    `Get-TeamsObjectType`
    | Little brother to `Get-TeamsCallableEntity` Returns the type of any given
    Object to identify its use in CQs and AAs. | |
    `Import-TeamsAudioFile`
    | Import-CsOnlineAudioFile | Imports an Audio File for use
    within Call Queues or Auto Attendants
           |
 
    TEST & ASSERT FUNCTIONS
    These are helper functions for testing Connections and Modules. All
    Functions return boolean output. Asserting the Status of the SkypeOnline
    Connection however also tries to reconnect a broken session in the hope of
    reducing downtime.
    | Function
       | Description
                                        | |
    -----------------------------------------------------------------------------:
    |
    -----------------------------------------------------------------------------------------------------------
    | |
    `Assert-Module`
    | Verifies installation and import of a Module and optionally also verifies
    Version. | |
    `Assert-AzureAdConnection`
    | Tests connection and visual feedback in the Verbose stream if called
    directly. | |
    `Assert-MicrosoftTeamsConnection`
    | Tests connection and visual feedback in the Verbose stream if called
    directly. | |
    `Assert-SkypeOnlineConnection`
    | Tests connection and
    Attempts to reconnect
    a
    broken
    session. Alias `PoL`
    Ping-of-life
    | |
    `Test-AzureAdConnection`
    | Verifying a Session to AzureAD exists
                                     | |
    `Test-MicrosoftTeamsConnection`
    | Verifying a Session to MicrosoftTeams exists
                                     | |
    `Test-ExchangeOnlineConnection`
    | Verifying a Session to ExchangeOnline exists
                                     | |
    `Test-AzureAdGroup`
    | Testing whether the Group exists in AzureAd
                                     | |
    `Test-AzureAdUser`
    | |
    `Test-TeamsResourceAccount`
    | Testing whether a Resource Account exists in AzureAd
                                     | |
    `Test-TeamsUser`
    | Testing whether the User exists in SkypeOnline/Teams
                                     | |
    `Test-TeamsUserLicense`
    | Testing whether the User has a specific Teams License
                                     | |
    `Test-TeamsUserHasCallPlan`
    | Testing whether the User has any Call Plan License
                                     | |
    `Test-TeamsExternalDNS`
    | Tests DNS Records for Skype for Business Online and Teams<br />NOTE: This
    command is evaluated for revival. |
 
EXAMPLES
    EXAMPLE 1 - FORMATTING
    '+1(555)-1234 567' | Format-StringForUse -As E164
    # This will format the String as an E.164 number and return `+15551234567`
     
    '+1(555)-1234 567' | Format-StringForUse -As LineUri
    # Example 2 will format numbers as a TEL URI
    # This will format the String as a LineUri to be used in Teams and return `tel:+15551234567`.
 
    Note, LineUris
    could
    also have an extension set, but this example focuses on the Number
    normalisation aspect. This CmdLet can also normalise DisplayNames and
    UserPrincipalNames and verifies their limitations.
 
NOTE
    None.
 
Development Status
    Mature. All of these CmdLets are pretty static and only receive minor updates.
    The String manipulation ones even have Pester tests defined already.
 
TROUBLESHOOTING NOTE
    Unit-tests are available for Format-CmdLets
    All others, though thoroughly tested, have no Unit-tests yet available.
 
SEE ALSO
    None.
 
KEYWORDS
    - Test Functions
- Asserting
- Formatting