尝试为 get-aduser 输入特定的用户列表



我正在尝试使用用户名列表来执行一个简单的get-aduser命令。它适用于单个用户,但我无法输入文件来为列表执行此操作。

此命令适用于单个用户:

get-aduser -identity myusername -properties passwordlastset, passwordneverexpires | 
sort name | ft Name, passwordlastset, Passwordneverexpires | out-file c:PSOutput.txt

这工作正常,但是我没有对所有指向文件的AD或身份使用-filter *,而是完全迷失了。我尝试过获取内容并链接到文件,但我只是陷入困境。

如果我有一个包含用户名列表的文本文件,如何针对单个文本文件列表而不是整个 AD 运行上述命令?

作为侧面查询,有没有办法我可以执行上述命令,但针对特定的 OU?

如果列表不是对象,请将其导入对象或循环访问值

尝试类似操作:

$Userlist = Get-Content -path 'c:temptest.txt'
$Results = $Userlist | ForEach-Object {
Get-aduser -identity $_ -properties passwordlastset, passwordneverexpires
}
$Results | sort name | ft Name, passwordlastset, Passwordneverexpires | out-file c:PSOutput.txt

只要您在列表中提供有效的SamAccountNames,这将起作用

我会这样做。 可以按值管道输入标识。 您可以稍后导入 csv 并取回对象。

get-content userlist.txt | 
Get-aduser -properties passwordlastset, passwordneverexpires | 
sort name | 
select Name, passwordlastset, Passwordneverexpires | 
export-csv users.csv

# searchbase example
get-aduser -filter 'name -like "j*"' -SearchBase 'OU=People,DC=stackoverflow,DC=com'

最新更新