我尝试使用 Get-ADUser 获取多个用户的信息,但它不喜欢。有人可以提供一些关于如何做到这一点的提示吗?非常感谢
Get-ADUser -Identity jdoe, jsmith, adoe, bdoe, cdoe -Properties CN, SamAccountName ,passwordlastset, passwordneverexpires | select SamAccountName, passwordlastset, passwordneverexpires
答案1
正如 cmdlet 帮助所示,Identity 不接受输入数组:
Get-ADUser [-Identity] <ADUser> [-AuthType {Negotiate | Basic}] [-Credential <pscredential>]
[-Partition <string>] [-Properties <string[]>] [-Server <string>] [<CommonParameters>]
因此,您可以循环输入数组:
'jdoe','jsmith','adoe','bdoe','cdoe' | ForEach-Object {
Get-AdUser -Identity $_ -Properties PasswordLastSet,PasswordNeverExpires}
或者你可以针对整个 OU 运行:
Get-AdUser -Filter * -SearchBase "OU=Users,DC=ad,DC=domain,DC=com" -SearchScope Subtree
或者构造一个合适的LDAPFilter
Get-AdUser -LDAPFilter '(|(sAMAccountName=*doe)(sAMAccountName=jsmith))'
或者其他任何方式。但最好的办法始终是寻求帮助。如果您尚未下载,那么始终有:
Get-Help Get-AdUser -Online
您应该能够找到示例,如果找不到,这些应该可以让您知道从哪里开始:https://docs.microsoft.com/en-us/powershell/module/activedirectory/get-aduser?view=winserver2012-ps&redirectedfrom=MSDN#examples
答案2
您可以通过执行以下操作针对多个用户运行它:
@('user1','user2','etc') | get-aduser | select-object Name
答案3
此命令将获取用户的所有属性
Get-ADUser usernamehere -Properties * | Select-Object name,office
您可以添加 Select 对象来定义您想要查看的信息
Get-ADUser usernamehere -Properties * | Select-Object name,office