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

Trying to input a specific user list for get-aduser

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

此命令适用于单个用户:

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

这工作正常,但我完全迷失了,而不是对所有 AD 或指向文件的身份使用 -filter *。我试过对文件执行 get-content 和 link,但我只是陷入困境。

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

作为附带查询,有没有一种方法可以执行上述命令,但针对特定的 OU?

如果您有一个不是对象的列表,请将其导入对象或迭代值

试试这样的:

$Userlist = Get-Content -path 'c:\temp\test.txt'
$Results = $Userlist | ForEach-Object {
    Get-aduser -identity $_ -properties passwordlastset, passwordneverexpires
}
$Results | sort name | ft Name, passwordlastset, Passwordneverexpires | out-file c:\PS\Output.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=Whosebug,DC=com'