Template/Setup/Template.ps1

# References:
# 1. Below are the list of predefined vars that can be used:
# - $PSScriptRoot [System defined] The folder path for current scipt file, NOT the caller script to call this function
# 2. Please do NOT try to read/write variable in parent scope as module cmdlet will run in module scope, cannot access the caller scope.
# But it is OK to access global scope.

param(
    [Parameter(Position=0)]
    [ValidateSet("Install", "Uninstall")]
    [string] $Operation = 'Install',
    [switch] $Force
)

if ($Operation -eq "Install")
{
    # Add install logic here. It must support to run multi times.
    
}
elseif ($Operation -eq "Uninstall")
{
    # Add uninstall logic here. It must support to run multi times.
    
}