Function 基于不同结果设置变量的最有效方法
我正在根据脚本运行的机器的详细信息运行验证。我目前有一个API,它将返回以下1项Function 基于不同结果设置变量的最有效方法,function,powershell,Function,Powershell,我正在根据脚本运行的机器的详细信息运行验证。我目前有一个API,它将返回以下1项 Name1 Name1, Name2 Name1, Name3 Name1, Name2, Name3 Name2, Name3 Name2 Name3 根据这7个结果中的一个运行不同验证集(函数)的最有效方法是什么 编辑:这里有一些伪代码来表示我试图完成的任务。我希望使每个开关的where对象中的开关和值更干净 function returnRelevantBlankValues { $instance
Name1
Name1, Name2
Name1, Name3
Name1, Name2, Name3
Name2, Name3
Name2
Name3
根据这7个结果中的一个运行不同验证集(函数)的最有效方法是什么
编辑:这里有一些伪代码来表示我试图完成的任务。我希望使每个开关的where对象
中的开关和值更干净
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
}
}
}
我根据服务器的角色进行验证,服务器可以有多个角色 首先,我创建服务器对象:
$servers = @()
$servers += New-Object -Type PSObject -Property @{
Name = "Server1"
Role = "DB"
}
$servers += New-Object -Type PSObject -Property @{
Name = "Server2"
Role = "DB","Application"
}
(实际上,我将它们存储在XML中,但这是可行的)
然后,您可以使用
$\角色-包含“应用程序”
来确定是否要运行检查。这也使得最终添加具有类似角色的其他服务器变得更加容易。YMMV取决于您试图检查的内容的详细信息。您能否详细说明您试图实现的目标?喜欢一些密码,当然。将清理代码并在一分钟内提交。添加了一些伪代码您是否可以使用开关-通配符
根据$\uRole
包含的内容调用各种函数?否,因为我有多个角色,所以我想进行多个测试。所以我会对每种角色类型使用一系列的ifs。