arrays - 循环访问特定的广告用户
问题描述
我有循环广告用户的问题。我有一个正在或曾经在 AD 中的用户列表。该列表包含大约 800 个条目(因此不是手动的)循环应该返回这个用户是否仍然在 AD 中或不再存在
[string[]]$user = Get-Content -Path D:\Temp\user.txt
for ($i=0;$i -le $user.Count; $i++){
[bool] (Get-ADUser -Filter { "SamAccountName -eq '$user[$i]'" })
}
如果您能提供帮助,我将不胜感激
解决方案
也许更简单的方法是反转逻辑并首先将所有用户 SamAccountNames 放在一个 Hashtable 中。
然后遍历文本文件中的名称并报告是否在哈希表中找到该名称。
就像是:
# create a hashtable with SamAccountName as key. The value doesn't matter
$userHash = @{}
Get-ADUser -Filter * | ForEach-Object { $userHash[$_.SamAccountName] = $true }
# read the textfile to get an array of SamAccountNames to test
Get-Content -Path 'D:\Temp\user.txt' | ForEach-Object {
[PsCustomObject]@{
'User' = $_
'Exists' = $userHash.ContainsKey($_)
}
}
如果您愿意,可以通过| Export-Csv -Path 'D:\Temp\UserReport.csv' -NoTypeInformation
在最后的大括号后附加来将其保存到 csv 文件。
输出:
用户存在 ---- ------ 劳奇斯真 假的
推荐阅读
- node.js - 简单的 POST 请求像 GET 请求一样工作并超时
- python - 在终端中为文件创建别名
- python - 在 Python 3.6 中转换日期时间的偏移量
- vue.js - Vuejs App 在生产中的开发中断中工作——构建错误
- elasticsearch - 如何将elasticsearch批量请求发送到亚马逊sqs队列
- python - 有没有办法识别浮动 NaN,然后在 pandas 数据框中替换它们?
- java - JPanel 被添加到其他 Jpanel on togglebutton Click
- java - 系统日期更改时如何执行某些操作?
- android - PWA Vue JS 应用程序未显示在设备上
- java - 将包含列表的实例映射到 flatMap(使用流)