【问题标题】:How to get AD properties for a list of windows generic accounts?如何获取 Windows 通用帐户列表的 AD 属性?
【发布时间】:2016-07-15 00:35:59
【问题描述】:

我有以下 PowerShell 命令,使用它可以获取 AD 中所有用户的属性。

Import-Module ActiveDirectory
$attributes = 'SamAccountName', 'Name', 'Mail', 'PasswordLastSet', 'Enabled',
              'PasswordNeverExpires', 'PasswordExpired'
Get-ADUser -Filter * -Properties $attributes | select $attributes

如果我想要一个特定用户的属性,我可以在命令提示符中使用以下示例:

net user /domain testuser

但是,如何获取给定用户列表的 AD 属性?

所以,到目前为止,我已经尝试了以下方法,但还没有实现,因为它只为一个用户返回(不确定如何循环):

Import-Module ActiveDirectory
cd AD:
$Users = gc "C:\AD\accounts.txt"
Get-ADUser -Filter '*' -Properties DisplayName, Office |
  ? { $Users -contains $_.SamAccountName } |
  select DisplayName, Office |
  Export-Csv -Path "C:\AD\output\UserProp_14072016.csv" -NoTypeInformation

我正在查找上次设置的密码,有效或无效,该帐户的所有者。

你能帮忙吗?

【问题讨论】:

  • “活跃/不活跃”和“所有者”是什么意思?
  • Active 表示该帐户处于活动状态(用户帐户仍然有效并正在使用)。所有者表示该通用帐户的经理。
  • 您要查找的属性是EnabledManager。请注意,Manager 是管理器的专有名称。如果您想要该帐户的帐户或显示名称,则需要解决该问题。

标签: powershell active-directory


【解决方案1】:

我用于获取任意 AD 用户列表的技术是从文本列表构造 ORed LDAP 过滤器:

$Users = gc "C:\AD\accounts.txt"

$User_filter = $Users -replace '^','(SamAccountName=' -replace '$',')'
$Filter = "(|$User_filter)"

Get-ADUser -LDAPFilter $Filter  -Properties DisplayName,Office

【讨论】:

  • 嗨@mjolinor,如果是通用帐户,我如何添加 IsActive 和帐户所有者等属性?
  • 您必须更好地解释该请求。这些不是 AD 对象的本机属性。您必须自己添加它们。有多种方法可以向对象添加属性,作为一个单独的问题可能会更好地回答。
  • 非常感谢@mjolinor!
【解决方案2】:

您可以尝试以下方法:

Import-Module ActiveDirectory
$Users = "Get-Content C:\AD\Accounts.txt"
Get-ADUser -Filter '*' -Properties DisplayName,Office,PasswordLastSet,LastLogonDate | 
? {$Users -contains $_.SamAccountName} | 
Select DisplayName,Office,PasswordLastSet,LastLogonDate | 
Export-CSV -Path "C:\AD\output\UserProp_14072016.csv" -NoTypeInformation

我不知道特定的“活动”属性,但您可以将“LastLogonDate”添加到属性中以确定帐户上次登录的时间。

此外,当您询问帐户的“所有者”时,我不确定您在寻找什么。

顺便说一下,对于所有可用属性的列表,您可以执行以下操作:

Get-ADUser <username> -Properties *

您或许可以在列表中找到您要查找的内容。

希望对您有所帮助。

【讨论】:

  • 非常感谢罗伯特,正在检查中
【解决方案3】:

按降序获取最后一次登录

  Import-Module ActiveDirectory
    Get-ADUser -filter * -properties Displayname, LastLogonDate, SamAccountName, office, PasswordLastSet | select-object Displayname, LastLogonDate,office, SamAccountName, PasswordExpired, PasswordLastSet | Sort LastLogonTime -Descending  | Export-csv  c:\users.csv -NoTypeInformation

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-20
    • 1970-01-01
    • 2017-05-12
    • 2012-05-05
    • 1970-01-01
    相关资源
    最近更新 更多