gpt4 book ai didi

sorting - 在以 'n' 开头的数组中查找用户名

转载 作者:行者123 更新时间:2023-12-04 10:37:20 24 4
gpt4 key购买 nike

我有一个来自 AD 的哈希表,其中包含用户名和服务帐户。我正在尝试查找所有服务帐户。所有用户名都由首字母唯一标识,例如“r”,服务帐户带有“s”。例如:r398831 和 s882443。这是我拥有的数组的示例:

  $null = $usrArr.Add([pscustomobject] @{
sName = $user.name
sGivenName = $user.GivenName
sSurname = $user.Surname
sEnabled = $user.Enabled
})

$lastSeen = $usrArr | select * | Where {$_.sEnabled -eq $true}
$lastSeen = $lastSeen | Sort-Object -Unique -Property sName

我试过使用 -contains 和 -match 但它似乎并没有拉回我所追求的:

$svcAcc = $lastSeen | where-object {$_.sName -like "s"}

我是否必须为每个执行一个,或者我只是弄乱了我的语法?我在想也许我需要对对象进行排序,但必须有一种更简单的方法来完成如此基本的事情。感谢对此的任何建议。

提前致谢:)

最好的,皮特

最佳答案

-like 运算符将 RHS 上的通配符模式与整个 LHS 进行匹配,因此 -like "s" 只会匹配完全与文字相同的值。

要改为匹配文字 s 开头的输入,请使用通配符模式 s*:

$svcAcc = $lastSeen | where-object { $_.sName -like 's*' }

顺便说一句:您对 select * 的使用似乎是多余的;同样,-eq $true 也不是绝对必要的,因此分配给 $lastSeen 可以简化为:

$lastSeen = $usrArr | Where-Object sEnabled | Sort-Object -Unique -Property sName

注意 Where-Object sEnabledWhere-Object { $_.sEnabled } 的缩写,是一种语法简化 introduced in PSv3 ,称为比较语句

关于sorting - 在以 'n' 开头的数组中查找用户名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42637404/

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