gpt4 book ai didi

包含运算符的 Powershell 脚本不起作用

转载 作者:行者123 更新时间:2023-12-04 02:03:26 24 4
gpt4 key购买 nike

我完全卡住了!希望有人能帮助指出我做错了什么。 PS脚本如下。

为了测试,我在“newusers.csv”中有 2 个用户,在“currentmembers.csv”中有相同的 2 个用户。这些是刚刚重命名的同一个文件。脚本的结果是“newusers.csv”中的 2 个用户不是“currentmembers.csv”的成员。这显然是错误的,但我无法弄清楚脚本有什么问题。

$list = Import-Csv newusers.csv
$members = Import-Csv currentmembers.csv

foreach ($UPN in $list) {
If ($members-Contains $UPN.upn) {
Write-Host $UPN.upn "is member"
} Else {
Write-Host $UPN.upn "is not a member"
}}

结果用户 1 不是成员(member)用户 2 不是成员(member)

最佳答案

您的两个 Import-CSV 调用正在创建一个对象数组,每个对象包含两个具有 1 个值 (UPN) 的对象。您对 -contains 的使用在这里不起作用,因为您没有直接与字符串进行比较,更多信息 here .

您有两个选择。

#1 你可以使用-in

foreach ($UPN in $list) {
If ($UPN.upn -in $members.upn) {
Write-Host $UPN "is member"
}
Else {
Write-Host $UPN "is not a member"
}
}

#2 你可以使用-match

foreach ($UPN in $list) {
If ($members -match $UPN.upn) {
Write-Host $UPN.upn "is member"
}
Else {
Write-Host $UPN.upn "is not a member"
}
}

关于包含运算符的 Powershell 脚本不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59417098/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com