我正在根据运行脚本的机器的详细信息运行验证。我目前有一个API将返回以下
中的一个Name1
Name1, Name2
Name1, Name3
Name1, Name2, Name3
Name2, Name3
Name2
Name3
基于这7个结果中的一个,运行不同验证集(函数)的最有效方法是什么?
编辑:这是一些伪代码来表示我想要完成的任务。我希望在每个开关清洁器的where-object
中进行切换和值
function returnRelevantBlankValues {
$instance = $args[0] #could be any 7 of the strings above
$inputFile = "C:\path\input.txt"
$fileResults = "C:\path\output.txt"
switch ($instance){
"name1" {
Get-Content $inputFile | where-object {
$_ -like "*name1*" -and $_ -notlike "*name2*" -and $_ -notlike "*name3"} > $fileResults
}
"name1, name2" {
Get-Content $inputFile | where-object {
$_ -like "*name1*" -and $_ -like "*name1*" -and $_ -notlike "*name3"} > $fileResults
}
}
}
答案 0 :(得分:1)
我根据服务器的角色进行验证,服务器可以有多个。
首先我创建服务器对象:
$servers = @()
$servers += New-Object -Type PSObject -Property @{
Name = "Server1"
Role = "DB"
}
$servers += New-Object -Type PSObject -Property @{
Name = "Server2"
Role = "DB","Application"
}
(实际上我将它们存储在XML中,但这可行)
然后,您可以使用$_.Role -contains "Application"
来确定是否要运行检查。这也使得最终添加具有类似角色的其他服务器变得更容易。 YMMV取决于您要检查的内容的详细信息。