我正在尝试在 powershell 中创建邮箱权限审核,并希望从 powershell 脚本的输出中删除特定帐户,而不是之后手动删除。
为了做到这一点,我正在寻找一种方法来将数组的内容与 powershell 中的单个字符串进行比较。
例如,如果我要声明一个数组:
$array = "1", "2", "3", "4"
然后我想找到一种方法来做如下的事情:
$a = "1"
$b = "5"
if ($a -ne *any string in $array*) {do something} #This should return false and take no action
if ($b -ne *any string in $array*) {do something} #This should return true and take action
我不知道如何做到这一点,任何帮助都值得赞赏
您有几种不同的选择:
$array = "1", "2", "3", "4"
$a = "1"
$b = "5"
#method 1
if ($a -in $array)
{
Write-Host "'a' is in array'"
}
#method 2
if ($array -contains $a)
{
Write-Host "'a' is in array'"
}
#method 3
if ($array.Contains($a))
{
Write-Host "'a' is in array'"
}
#method 4
$array | where {$_ -eq $a} | select -First 1 | %{Write-Host "'a' is in array'"}
或者...
[Int32[]] $data = @( 1, 2, 3, 4, 5, 6 );
[Int32[]] $remove_list = @( 2, 4, 6 );
$data | Where-Object { $remove_list -notcontains $_ }
(返回 1、3 和 5)