繁体   English   中英

如何搜索Active Directory以查找来自同一域的两个不同组织单位中存在的所有已启用用户?

[英]How do I search Active Directory to find all enabled users that exist in two different organizational units from the same domain?

我不太熟悉脚本编写,但我希望定期审核Active Directory域中已启用的用途。 我们将用户分为多个组织单位,我想搜索所有已启用的用户,并将该信息导出到单个csv文件中,以供其他部门审核。

我想使用Powershell来做到这一点,但是我不喜欢这种方法。

现在,我正在使用以下代码创建两个文件,但是很难将信息细化为名字和姓氏,然后将来自不同单位的数据放入一个文件中。

任何帮助,将不胜感激。

Get-ADUser -Filter 'enabled -eq $true' -SearchBase "OU=corporate office,OU=company users,DC=company,DC=com" | export-csv -Path c:\files\corporate_users.csv

Get-ADUser -Filter 'enabled -eq $true' -SearchBase "OU=branch office,OU=company users,DC=company,DC=com" | export-csv -Path c:\files\branch_users.csv

好的,所以您要做的就是将第一个命令的结果作为数组存储到变量中,然后将第二个命令的结果添加到该数组中,之后我们可以继续过滤结果,然后导出为CSV文件。

$results = Get-ADUser -Filter 'enabled -eq $true' -SearchBase "OU=corporate office,OU=company users,DC=company,DC=com"
$results += Get-ADUser -Filter 'enabled -eq $true' -SearchBase "OU=branch office,OU=company users,DC=company,DC=com"

$results | select-object GivenName,SurName | export-csv -Path c:\files\branch_users.csv

请注意,如果您打算无论如何都要获得所有启用的用户,则只需消除-SearchBase参数并仅使用过滤器即可运行Get-Aduser。 您可能还想尝试运行Get-aduser SOMEUSERNAME -properties * | Get-Member Get-aduser SOMEUSERNAME -properties * | Get-Member ,它将显示ADUSER对象上可用的(许多)属性的名称。

一个对象可以并且始终存在于Active Directory中的一个位置。 根据该断言“否​​”,用户不能同时存在于Active Directory域中的两个不同的OU中。

因此,按照AD术语,用户帐户在OU中具有单值属性,而在组中具有多值属性。

您做的绝对正确。 我只是为您提供一个脚本,您可以根据需要使用它。 只需创建一个ps1文件并执行以下脚本。

我还在脚本中添加了注释,以供您参考。

# First line is creating the CSV File and capturing only the Four Properties which I have passed in the Select part
Get-ADUser -Filter 'enabled -eq $true' -SearchBase "OU=corporate office,OU=company users,DC=company,DC=com" |Select Name,SamAccountName,DistinguishedName,Surname| export-csv -Path c:\files\corporate_users.csv

# Second line is Appending the data in the same csv file which the 1st line has been created with the same properties.
Get-ADUser -Filter 'enabled -eq $true' -SearchBase "OU=branch office,OU=company users,DC=company,DC=com" |Select Name,SamAccountName,DistinguishedName,Surname| export-csv -Path c:\files\branch_users.csv -Append

# You can segregate them using the DistinguisedName property which will tell that a user is part of which OU. 

注意:您可以根据需要在“选择”中选择“用户”的所有属性。

如果这个让您满意,请随时接受答案,这也会对他人有所帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM