29 lines
775 B
PowerShell
29 lines
775 B
PowerShell
function Test-ComputerName {
|
|
[CmdletBinding()]
|
|
param(
|
|
[Parameter(Mandatory = $true)]
|
|
[string]$Name
|
|
)
|
|
|
|
if ([string]::IsNullOrWhiteSpace($Name)) { return $false }
|
|
if ($Name.Length -gt 15) { return $false }
|
|
if ($Name -notmatch '^[A-Za-z0-9-]+$') { return $false }
|
|
return $true
|
|
}
|
|
|
|
function Get-TaskHandlerName {
|
|
param([object]$Task)
|
|
|
|
foreach ($p in @('HandlerFn','Handler','Fn')) {
|
|
if ($Task.PSObject.Properties.Name -contains $p) {
|
|
$v = ([string]$Task.$p).Trim().TrimStart('/')
|
|
if (-not [string]::IsNullOrWhiteSpace($v)) { return $v }
|
|
}
|
|
}
|
|
|
|
$n = ([string]$Task.Name).Trim().TrimStart('/')
|
|
if (-not [string]::IsNullOrWhiteSpace($n)) { return "Invoke-$n" }
|
|
|
|
return $null
|
|
}
|