Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Function 基于不同结果设置变量的最有效方法_Function_Powershell - Fatal编程技术网

Function 基于不同结果设置变量的最有效方法

Function 基于不同结果设置变量的最有效方法,function,powershell,Function,Powershell,我正在根据脚本运行的机器的详细信息运行验证。我目前有一个API,它将返回以下1项 Name1 Name1, Name2 Name1, Name3 Name1, Name2, Name3 Name2, Name3 Name2 Name3 根据这7个结果中的一个运行不同验证集(函数)的最有效方法是什么 编辑:这里有一些伪代码来表示我试图完成的任务。我希望使每个开关的where对象中的开关和值更干净 function returnRelevantBlankValues { $instance

我正在根据脚本运行的机器的详细信息运行验证。我目前有一个API,它将返回以下1项

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。