您可以使用 powershell 将数据暂存到文件中,然后使用 SSIS 加载该文件。Powershell 有一个可用于此目的的活动目录 cmdlet 模块。谷歌“远程服务器管理工具”搜索在哪里下载。这是 Windows 10 的链接:https ://www.microsoft.com/en-us/download/details.aspx?id=45520
以下是一些安装说明 > https://4sysops.com/archives/how-to-install-the-powershell-active-directory-module/
安装后,请按照以下步骤设置软件包:
- 创建一个powershell脚本文件(即c:\temp\StageAdUsers.ps1)
:
$adserver = "mydomain.com"
$outputFile = "c:\temp\myad.txt"
if (test-path $outputFile)
{
remove-item $outputFile
}
$groups = Get-ADGroup -server $adserver -filter * -Properties members
foreach($group in $groups)
{
foreach($member in $group.members)
{
$user = get-aduser $member -ErrorAction SilentlyContinue
$newLine = "$($group.SamAccountName)`t$($user.SamAccountName)"
add-content $outputFile $newLine
}
}
- 添加执行流程任务。
- 将 powershell 指定为可执行文件 (C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe)
- 将此添加为参数:-ExecutionPolicy Bypass -File c:\temp\StageAdUsers.ps1
- 添加数据流任务以加载平面文件的内容
在上面的脚本中,我们使用 Get_AdGroup cmdlet 来获取所有组。如果有意义的话,这可以被过滤掉。有一个名为 Get-AdGroupMembers 的 cmdlet,但它有大小限制,因此我们使用“-properties members”作为解决方法。
最后,我们将组名和用户名放在一行中,用制表符 (`t) 分隔。如果文件不存在,add-content 将创建该文件并简单地追加一个新行。如果文件存在,脚本的开头将删除该文件。
米