用于循环的SSIS包,用于扩展AD组成员列表
我是SSIS工具的新用户,我喜欢它!但我有一个项目,我不知道如何配置该工具。我在一个MySQL表中有一个大约300个域组的列表,我需要通过循环读取每个域组,并为每个组查询ActiveDirectory以获得成员的列表/枚举。我会将结果写入另一个表,该表的第一列中有组名,第二列中有sAMAccountName。每个域组成员一行,不是包含所有成员的单行,而是组中每个帐户成员一行 我正在使用金山软件的SSIS集成工具包用于目录服务连接管理器来访问广告信息。-或者,如果有另一种机制,听到别人在用什么也会很好 我擅长连接和写入db表,但循环部分以及如何传递参数和构建要写入的数据行让我抓狂:\用于循环的SSIS包,用于扩展AD组成员列表,ssis,active-directory,expansion,active-directory-group,activedirectorymembership,Ssis,Active Directory,Expansion,Active Directory Group,Activedirectorymembership,我是SSIS工具的新用户,我喜欢它!但我有一个项目,我不知道如何配置该工具。我在一个MySQL表中有一个大约300个域组的列表,我需要通过循环读取每个域组,并为每个组查询ActiveDirectory以获得成员的列表/枚举。我会将结果写入另一个表,该表的第一列中有组名,第二列中有sAMAccountName。每个域组成员一行,不是包含所有成员的单行,而是组中每个帐户成员一行 我正在使用金山软件的SSIS集成工具包用于目录服务连接管理器来访问广告信息。-或者,如果有另一种机制,听到别人在用什么也会
-救命啊 为了在不同组中的组成员之间循环,您需要参数化AD源组件的[ContainerPath]属性。您可以使用SSIS中的属性表达式编辑器来参数化此属性,并指定可在Foreach循环容器中使用的变量 一旦参数化了[ContainerPath]属性,就可以放置此数据流任务(包含AD源组件)进入Foreach循环容器,并提供前面指定的变量的组路径,以便在运行包时,任务将循环所有组并返回相应组的成员信息 感谢您选择金斯威软件作为您的集成解决方案。希望这能回答您的问题,如果您还有其他问题,请随时告诉我们
金山软件支持您可以使用powershell将数据暂存到文件中,然后使用SSI加载该文件。Powershell有一个active directory cmdlet模块,可用于此目的。谷歌“远程服务器管理工具”搜索从哪里下载。这是windows 10的链接: 以下是一些安装说明> 安装后,按照以下步骤设置软件包:
- 添加以下内容:
- 将powershell指定为可执行文件(C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe)
- 将此添加为参数:-ExecutionPolicy Bypass-文件c:\temp\StageAdUsers.ps1
最后,我们将组名和用户名放在一行中,用一个制表符(`t)分隔。如果文件不存在,“添加内容”将创建该文件,并简单地追加一个新行。如果文件存在,脚本的开头将删除该文件 m
$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
}
}