我正在尝试设置一些新的通讯组,并希望将它们填入特定OU的所有成员。
$allMemberofTestOU = get-qadgroup $ouNameT | get-qadmemberof
但是我的交换管理shell不知道这个cmdlet。我不知道为什么。
我不知道如何做到这一点,我想 - 简单,事情。
长版:
我有许多名为OU-ProgramName - **的OU,并希望将所有这些成员移动到新的通讯组名称VL-ProgramName - **。
一开始,我从包含所有程序名的文本文件中获取内容,并希望通过ForEach循环(工作)。
问题:
我需要帮助获取OU的所有成员并将其复制到新的通讯组。
德国最诚挚的问候
保
编辑:
我建立了另一种方式来完成这项工作。我是PowerShell的新手,所以我不知道我是不是以正确的方式做到了。
$OU = "CN=*-$ouName,OU=Prodfarm-Anwendungen,OU=LRA-CTRX,DC=kreis-gr,DC=de”
$AD = New-Object System.DirectoryServices.DirectorySearcher([ADSI]"LDAP://$OU")
# Testfarm
$newGroupT = "VLP_"+ $ouName + " Test C65"
$Users = $AD.FindAll() | %{$_.Properties.samaccountname} | Sort-Object
$Users | New-Distributiongroup -Name $newGroupT -Members $_
答案 0 :(得分:0)
所有Get-QAD*
个CMDLets都是 Quest ActiveRoles Management Shell 插件的一部分。在Quest被戴尔收购之前,有一个免费版本。免费版是一些博客文章引用它们的原因。但是,合并后,免费版本从Quest / Dell网站上撤下,您现在可以直接从Dell / Quest here购买此插件。
所以你的问题可以通过两种可能的解决方案来解决:
1。)如果您已经安装了该插件,那么您最初通过以下方式添加了Quest ActiveRoles AD管理管理单元:
Add-PSSnapin Quest.ActiveRoles.ADManagement
2.)未安装Quest ActiveRoles AD管理管理单元。如果您想使用上一个已知的“免费”版本,您可以在互联网上找到它,例如here。请注意,没有人知道这是否是原始版本!另请注意,免费版本是一个非常旧的版本,因为当前的版本是1.7版本。因此,您也可以从Quest / Dell购买新的最新产品。
<强>更新强>
这是我正在使用的脚本add all users from a given OU to a given AD group。我通过Windows Scheduler和任务帐户运行它。运行后,它会将给定OU中的所有用户添加到给定的AD组,这意味着它会自动更新组。您可以调整它以满足您的需求。它有点高级编码,因为如果出现故障会发出错误电子邮件,写入日志并使用函数。