Param(
    [Parameter(Mandatory = $true)]
    [string[]]
    $ComputerName = $null,

    [ValidateSet('All Day Every Day',
                 'Weekdays 700 to 1800',
                 'All Week 500 to 2300'
                 )]
    [string]
    $SupportHours
    
)

$Func = {
    param($C, $SwSupportHours)
    Write-Verbose -Message "Add to Solarwinds" -Verbose
    Import-SWDiscovery -ComputerName $C -Integration ServiceNow

    Start-Sleep -Seconds 10

    Write-Verbose -Message "Set Solarwinds node custom properties if parameter exists" -Verbose
    If($PSBoundParameters.ContainsKey('SupportHours')){
        Write-Verbose -Message "SupportHours $SwSupportHours." -Verbose
        Set-SWNodeCustomProperty -ComputerName $C -Property SupportHours -Value $SwSupportHours 
    }
}

$ComputerName | ForEach-Object {
    Invoke-Command -ComputerName itdslrwnds.nd.gov -ScriptBlock $Func -ArgumentList $_,$SupportHours -Credential $Secret:ndgov_svcitdiaasauto
}
