获取ADUser Powershell命令教程,以列出Active Directory用户及其示例

WindowsActiveDirectory提供了非常有用的企业用户管理功能。Powershell是为Microsoft操作系统提供的一种新的脚本语言。 Get-ADUser 是一个非常有用的命令或commandlet,可用于以不同方式列出activedirectory用户。

以交互方式列出域用户

我们将从一个简单的例子开始。我们将列出所有域用户。在本例中,我们将不向 Get-ADUser 命令。但是在运行命令之后,我们会被要求提供一个过滤器。我们将提供星号 * 作为一个过滤器,意味着所有用户。

PS> Get-ADUSer
List Domain Users Interactively
以交互方式列出域用户

Get ADUser命令提供以下信息。

  • `DistingushedName`将为用户提供完整的规范名称。
  • `Enabled`将显示用户帐户是否已启用。
  • `GivenName`是人类可读的名字,通常是用户的名字和姓氏。
  • `ObjectClass是用户类型,通常是user。
  • `ObjectGUID`是当前用户或对象的唯一ID。
  • `SamAccountName`是用户的或SAM帐户名。

列出域用户

在本例中,我们将通过提供星号作为参数来列出所有域用户 * Get-ADUser 命令。我们将使用 -Filter 选项。

PS> Get-ADUser -Filter *
List Domain Users 
列出域用户

列出容器或OU中的所有用户

由于企业环境中有许多用户具有不同的部门、容器和OU,我们可能只需要列出给定的部门、容器或OU。我们将使用 -SearchBase 选项并提供OU以筛选用户。在本例中,我们将使用 DC=ABC, DC=LOCAL

PS> Get-ADUser -Filter * -SearchBase "DC=ABC,DC=LOCAL"
List All Users In A Container or OU
列出容器或OU中的所有用户

按用户名筛选用户

我们可以通过用户名过滤用户。我们将使用一种查询语言来指定Powershell中的名称。我们还将使用 -Filter 选项。在本例中,我们将列出用户名以 H 信。

PS> Get-ADUser -Filter 'Name -like "H*"'
Filter Users By Username
按用户名筛选用户

或者,我们可以指定如下搜索项:;

相关文章: 如何在Linux中添加新的用户帐号

*dan 将搜索以 dan .

按姓氏筛选用户

另一个流行的搜索案例是根据用户的姓氏进行搜索。我们将使用 Surname 具有 -Filter 选项。在下面的示例中,我们将搜索以 ak .

PS> Get-ADUser -Filter 'Surname -like "*ak"'

使用and进行复杂过滤和搜索

使用单个属性搜索和筛选很容易,但在某些情况下,我们可能需要搜索和筛选多个条件。我们可以使用 AND OR 不同属性的逻辑。下面我们将搜索名称以 İs 姓氏以 an . 因此,我们将使用AND逻辑来满足名称和姓氏属性的两个条件。

PS> Get-ADUser -Filter { (Name -Like "İs*")  AND (Surname -Like "*an")}

让我们通过添加更多的条件使这个例子更复杂,但更有用。我们将搜索和筛选驻留在 MyUsers 具有指定名称和姓氏的OU。

PS> Get-ADUser   -SearchBase "DC=MyUsers,DC=ABC,DC=LOCAL"  '' -Filter { (Name -Like "İs*")  AND (Surname -Like "*an")}

获取所有属性

由于activedirectory是一个非常复杂的环境,因此有许多关于用户的属性和属性。默认情况下,只打印其中一些属性,如Name、SID、姓氏、GivenName等 -Properties 命令和星号 * .

PS> Get-ADUser -Filter * -Properties *
Get All Properties
获取所有属性

从屏幕截图中我们可以看到,诸如AccountExpirationDate、AccountLockoutTime等属性被打印出来。

  • `AccountExprirationDate`如果已设置,则将显示帐户到期日。如果没有,现在就有价值了。
  • `AccountExpires`将显示帐户是否有过期日期。
  • `AccountLockoutTime`将显示空闲时锁定帐户的时间间隔。
  • `BadLogonCount`将显示过去有多少次不成功的登录尝试。
  • `Created`将显示有关帐户创建的日期和时间信息。
  • `Company`如果设置,则显示用户帐户的用户公司名称。

相关文章: Linux stat命令教程及示例

筛选并显示特定属性

由于有很多属性,并且默认情况下,只打印其中一些属性,因此我们可能需要打印特定的属性。我们可以通过指定 -Property 选项如下。我们将打印属性,如 BadLogonCount , Title 等。

PS> Get-ADUser -Filter * -Properties "BadLogonCount","Title"
Filter and Show Specific Properties
筛选并显示特定属性

显示特定用户的属性

我们还可以显示给定或特定用户的属性,我们需要向用户提供用户名 -Filter 选项以及要显示的属性或属性。

PS> Get-ADUser -Filter "Name -like 'İsmail Baydan'" -Properties "BadLogonCount","Title"
Show Properties For Specific User
显示特定用户的属性

导出到CSV文件

如果我们使用第三方系统并提供Active Directory用户数据,我们可以使用CSV格式。我们可以将CSV格式的activedirectory用户数据导出到 Export-CSV 命令如下。我们还将提供CSV文件名和路径 ADUsers.csv 在这个例子中。

PS> Get-ADUser -Filter "*" | Export-CSV -Path ADUsers.csv
Export To CSV File
导出到CSV文件

打印电子邮件地址

电子邮件地址信息也打印在 Get-ADUser 命令。我们将只提供电子邮件作为我们想要打印的属性。

PS> Get-ADUser -Filter "*'" -Properties "EmailAddress"

仅列出已启用的用户

可以出于不同的原因(如安全性)禁用Active Directory用户。所以在用户帐户被禁用后 Enabled 属性将设置为false。如果我们只需要列出启用的用户并过滤掉禁用的用户,我们可以使用 Enabled -eq $True 过滤器。

PS> Get-ADUser -Filter {Enabled -eq $True}

© 版权声明
THE END
喜欢就支持一下吧,技术咨询可以联系QQ407933975
点赞0
分享