目前使用powershell 也有几年的时间了, powershell 脚本的代码量虽然有增加, 但是没有使用到太多是自定义函数来减少代码的重复使用问题, 所以当前有需求需要把现有代码进行再压缩和精简, 临时了解一下关于函数中的参数使用, 详细使用参考微软​​官网链接​

自动验证参数值[ValidateSet('T','QA','P01','P02')]

Function Add-SCOMAgentToGroup
{
param (
[Parameter(Mandatory = $True)]
[string]$FQDN,

[Parameter(Mandatory = $True)]
[ValidateSet('T','QA','P')]
[string]$AssetPriority
)
$monitorobj = Get-SCOMMonitoringObject -DisplayName $FQDN
$monitoringObject = $monitorobj |? -FilterScript {( Get-SCOMClass -Id $_.LeastDerivedNonAbstractMonitoringClassId ).Name -eq 'Microsoft.Windows.Computer'}
$monitoringObject.'[System.ConfigItem].Notes'.Value = $AssetPriority
$monitoringObject.Overwrite()
}

Powershell 函数用法-01_powershell