场景:
在泸县等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供成都网站设计、网站制作、外贸营销网站建设 网站设计制作按需定制网站,公司网站建设,企业网站建设,高端网站设计,网络营销推广,外贸网站建设,泸县网站建设费用合理。最近上了Citrix虚拟桌面,其中有一个场景需要将某个部门OU下所有用户添加到指定的组.
由于AD域中没有类似Exchange中动态组的功能,我准备用PowerShell脚本来达到自动更新这个组的成员.
步骤:
首先我将组的描述中写入对应OU的DistinguishedName,以此来确定组与OU对应的关系.
当然,如果公司的描述字段另有用处,你也可以使用别的闲置字段,或者直接在域架构中扩展字段.这里就不展开讲了.
接下来我们就可以编写脚本了.
#初始化变量 $LogName = "D:\VDI_AddNewVDIUsersToVDIGroup_Log.csv" #获取VDI组 $VDIGroups = Get-ADGroup -Filter {Description -Like "OU=*"} -SearchBase "OU=Groups,OU=VDI,OU=Application Systems,DC=Contoso,DC=com" -Properties Description #准备添加成员 Foreach ($VDIGroup in $VDIGroups) { #获取成员所在OU $SearchBase = Get-ADOrganizationalUnit $VDIGroup.Description #获取OU中成员 $Members = Get-ADUser -Filter {employeeid -like "*"} -SearchBase $SearchBase #获取VDIGroup中已存在的成员 $ExistMembers = Get-ADGroupMember -Identity $VDIGroup #准备比对成员是否已存在组中 Foreach ($Member in $Members){ #比对成员是否已存在组中 if ($ExistMembers.ObjectGUID -notcontains $Member.ObjectGUID){ #生成日志 (Get-Date).ToString('yyyy-MM-dd HH:mm:ss') + ',' + $VDIGroup.Name + ',' + $Member.Name |Out-File -FilePath $LogName -Append -Encoding utf8 #添加成员 Add-ADGroupMember -Identity $VDIGroup.ObjectGUID -Members $Member } } }
将上面的脚本添加至计划任务.
1.输入描述内容[非必须]
2.选择用户[用户必须对AD组有操作权限]
3.选中"不管用户是否登录都要运行"
4.不要勾选"不存储密码"
5.不要勾选"使用最高权限运行"
6.设置好"重复任务间隔"
7.在操作里新建一项,在"程序和脚本"里填上"PowerShell",在"添加参数"里填上脚本的绝对路径.
接下来,这个脚本就会按照时间间隔来运行这个脚本了.
写得比较简陋,提供一个思路给各位.
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。