Public/Get-specTVName.ps1

Function Get-specTVName {
    <#
        .SYNOPSIS
            This function generates a Team Viewer name based on the provided "ComputerName", "Epos", "Storename", and "ClientNumber" parameters.
 
        .DESCRIPTION
            The "Get-specTVName" function returns a formatted Team Viewer name based on the regex match of the "ComputerName". If no valid match is found, the function returns: $false. The function supports various patterns for "ComputerName" and provides a formatted output for valid matches.
 
        .PARAMETER Epos
            A string representing the Epos identifier.
 
        .PARAMETER Storename
            A string representing the store name.
 
        .PARAMETER ClientNumber
            A string representing the client number.
 
        .PARAMETER ComputerName
            The name of the computer for which to generate a Team Viewer name. Default is the current computer name ("$env:computername").
 
        .EXAMPLE
            $tvAlias = Get-specTVName -Epos '1234' -Storename 'OHStore' -ClientNumber '15' -ComputerName 'hkc-123'
 
            if (!$tvAlias) {
                write-host "No valid TV name" -ForegroundColor red
            } else {
                write-host "The name is: $res" -ForegroundColor Magenta
            }
 
            # This example demonstrates how to retrieve a TV name based on the provided parameters. If the "ComputerName" matches one of the patterns, the formatted TV name is displayed. Otherwise, a message indicating no valid TV name is shown.
 
        .NOTES
            Author: owen.heaume
            Version: 1.0 - Initial release
    #>


    [cmdletbinding()]

    param (
        [string]$Epos,

        [string]$Storename,

        [string]$ClientNumber,

        [string]$ComputerName = $env:computername
    )

    begin {}

    process {
        switch -Regex ($ComputerName) {
            '^AUR-' { $tvName = "$Storename $Epos Client $ClientNumber $ComputerName"; break }
            '^NZR-' { $tvName = "$Storename $Epos Client $ClientNumber $ComputerName"; break }
            '^AUC-' { $tvName = $ComputerName; break }
            '^NZC-' { $tvName = $ComputerName; break }
            '^AUAR-' { $tvName = "$Storename $Epos Client $ClientNumber $ComputerName"; break }
            '^NZAR-' { $tvName = "$Storename $Epos Client $ClientNumber $ComputerName"; break }
            '^AURR-' { $tvName = $ComputerName; break }
            '^NZRR-' { $tvName = $ComputerName; break }
            '^AUS-' { $tvName = $ComputerName; break }
            '^NZS-' { $tvName = $ComputerName; break }
            '^AUQA-' { $tvName = "$Storename $Epos Client $ClientNumber $ComputerName"; break }
            '^NZQA-' { $tvName = "$Storename $Epos Client $ClientNumber $ComputerName"; break }
            '^AURT-' { $tvName = $ComputerName; break }
            '^NZRT-' { $tvName = $ComputerName; break }
            '^AUAT-' { $tvName = $ComputerName; break }
            '^NZAT-' { $tvName = $ComputerName; break }
            '^HKC-' { $tvName = $ComputerName; break }
            '^HKSC-' { $tvName = $ComputerName; break }
            '^NLRO-' { $tvName = "$ComputerName $Storename $Epos"; break }
            default { $tvname = $false }
        }
    }

    end {
        Write-Verbose "Team Viewer name generated: $tvName"
        return $tvName
    }
}