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

时间:2016-11-30 17:17:14

标签: windows powershell server windows-server-2012-r2

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

我想和Powershell一起做这件事,但我还没跟那种方法结婚。

现在,我使用以下内容创建了两个文件,但很难将信息简化为名字和姓氏,然后将不同的数据转换为一个文件。< / p>

任何帮助都将不胜感激。

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

2 个答案:

答案 0 :(得分:0)

确定所以你需要做的就是将第一个命令的结果作为数组存储到变量中,然后将第二个命令的结果添加到该数组中,之后我们可以继续并过滤结果然后导出到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,它将显示ADUSER对象上可用的(许多)属性的名称。

答案 1 :(得分:0)

对象可以并且始终只存在于Active Directory中的一个位置。通过该断言,NO,用户不能同时存在于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. 

注意: 您可以根据自己的要求在选择中选择用户的所有属性。

如果满足你的话,请随时接受答案,这也会对他人有所帮助。