You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何快速查找PowerShell数组中指定值的索引位置?

更快捷的AD组织单元索引查找方法

当然有更简便的实现方式,以下是几种常用高效方法:

方法1:使用数组原生的FindIndex方法

PowerShell中的数组自带FindIndex方法,可直接传入匹配逻辑的脚本块,返回第一个符合条件的元素索引(找不到则返回-1):

$index = $OUs.FindIndex({ $args[0].Name -eq "Test" })

方法2:提取名称数组后调用静态索引查找

先提取所有OU的名称组成独立数组,再通过[Array]::IndexOf静态方法快速定位:

$index = [Array]::IndexOf($OUs.Name, "Test")

注:若存在多个名称为"Test"的OU,该方法仅返回第一个匹配项的索引。

方法3:用管道简化计数匹配逻辑

通过ForEach-Object的内置计数逻辑,简洁完成索引定位:

$targetIndex = -1
$OUs | ForEach-Object -Begin { $counter = 0 } -Process {
    if ($_.Name -eq "Test") { $targetIndex = $counter }
    $counter++
}

这些方法都能替代原始的循环打印方式,直接获取目标元素的索引值。

内容的提问来源于stack exchange,提问作者Badger

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 15:52:36