如果一个字符串包含另一个,如何比较来自不同数组的两个字符串?

我想比较一个字符串(例如Edi)是否包含在另一个字符串(例如Edil)中。我写了一个带字符串的脚本,因为以后我需要比较两个对象(AD中的所有用户与NTFSsecurity中的帐户(文件夹的权限))。

$AlleBenutzer = ("Adam","Edi","Georg","Kate")
$Benutzer = ("Adaml","Edil","Eval")
foreach ($u in $AlleBenutzer) {$L = $u | Out-String ; write-host $L}
foreach ($v in $Benutzer) {$M = $v | Out-String; write-host $M}

foreach ($user in $L) {if ($M -match $user ) {Write-Host $M}}

我从第3行和第4行变成输出,但从第6行没有输出。我看不到我的错误。

heshaojiang123456 回答:如果一个字符串包含另一个,如何比较来自不同数组的两个字符串?

这里不需要Out-String-您的数组值已经是字符串。您可以通过一组嵌套的Where-Object管道来运行子字符串(用户名)列表,以测试它们:

$AlleBenutzer = ("Adam","Edi","Georg","Kate")
$Benutzer = ("Adaml","Edil","Eval")

$AlleBenutzer |Where-Object {
  $user = $_
  # If any value in $Benutzer matches the user name,# this expression will evaluate to _something_,# iow. $true in the outer Where-Object 
  $Benutzer |Where-Object {$_ -like "*$user*"}
}
本文链接:https://www.f2er.com/3144408.html

大家都在问