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 } } |