公司内所有活动目录组中的用户列表(150k用户)

时间:2016-07-27 08:36:17

标签: c# sql-server powershell ssis openquery

我的目标是: 我必须直接从AD服务器获取有关所有活动目录非空组(邮件,帐户名,全名)中的所有用户的信息。我必须将它放入为其准备的Active Directory数据库中。我希望每晚运行一个SSIS包,并刷新有关所有组和用户的数据。

到目前为止我尝试了什么:

1)首先,我尝试过这样的开放式查询:http://www.ryanjadams.com/2016/03/query-active-directory-sql-server/#axzz4FanSmp3J

我失败了,因为它受到如此多的限制。我只能获取901行而且它不起作用,因为我希望它能够工作。

也许这是一个很好的解决方案,但我现在不知道如何通过链接服务器和打开查询来获取我的目标?

2)我的第二步是电源外壳: 我得到了这样的power shell脚本:

Get-ADGroup -filter "Groupcategory -eq 'Security' -AND Member -like '*'" |
foreach { 
 Write-Host "Exporting $($_.name)" -ForegroundColor Cyan
 $name = $_.name -replace " ","-"
 $file = Join-Path -path "C:\MyPath\GroupFiles" -ChildPath "$name.csv"
 Get-ADGroupMember -Identity $_.distinguishedname -Recursive |  
 Get-ADObject -Properties SamAccountname,Title,Department |
 Select Name,SamAccountName,Title,Department,DistinguishedName,ObjectClass |
 Export-Csv -Path $file -NoTypeInformation
}

enter code here

上面的代码为我创建了名为Group的csv以及其中的所有用户但不幸的是它只创建了256个组,并且它的停止停止工作。

3)我知道第三步应该是SSIS中的C#脚本,但我在C#中是全新的,也许我将来会这样做,但我有限的时间来实现我的目标,我不想要从一开始就浪费我的时间学习C#。

所以我的问题是我应该考虑解决问题的第四种方法吗?如果不是,完成我的工作的最佳解决方案是什么:1,2,3?

也许有人在过去遇到同样的问题并得到解决方案?

也许有人可以改进以下任何一项:1或2来帮助我解决它?

感谢您的帮助, BR

0 个答案:

没有答案