博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
通过powershell查询OU中被禁用的AD账号,并删除他们的所属组
阅读量:7098 次
发布时间:2019-06-28

本文共 1023 字,大约阅读时间需要 3 分钟。

这个需求可以通过两个方向来实现

1、找到禁用的账号,删除除domain users外的所有组,脚本内容如下

#导入AD模块

import-module ActiveDirectory

#被禁用户

$users = get-aduser -Filter * -SearchBase "OU=xxx,DC=xxx,DC=com" | foreach {if ($.enabled -eq $false){echo $.Name} }

#删除用户所有组

foreach($user in $users)

  {

    $Membership = Get-ADPrincipalGroupMembership $User
    $group = $Membership.distinguishedName -ne "CN=Domain Users,CN=Users,DC=xxx,DC=com"
    Remove-ADPrincipalGroupMembership -identity $User -MemberOf $group -confirm:$False
  }

2、找到禁用账号的samaccountname跟组,将domain users外的组通过samaccountname删除成员,内容如下

import-module ActiveDirectory

$users = get-aduser -filter 'enabled -eq $false' -Properties samaccountname, memberof -SearchBase "OU=xxx,DC=xxx,dc=com" | select samaccountname,

@{ n = 'MemberOf'; e = { ($.memberof | % { (Get-ADObject $).Name }) -join "," } }

foreach ($user in $users)

  {
    Get-ADGroup -Filter { name -notlike "domain users" } | Remove-ADGroupMember -Members $user.samaccountname -Confirm:$False 
  }

转载于:https://www.cnblogs.com/zhr1217/p/9686547.html

你可能感兴趣的文章
svn command
查看>>
职业插画之路
查看>>
Java入门篇(五)——字符串/String类
查看>>
python 的StringIO
查看>>
第三个阶段事后诸葛亮
查看>>
java中的sql语句中如果有like怎么写
查看>>
【原创】驱动加载之StartService
查看>>
1751: [Usaco2005 qua]Lake Counting
查看>>
【BZOJ】4753: [Jsoi2016]最佳团体 01分数规划+树上背包
查看>>
iOS 获取设备信息之UIDevice的使用,Swift 基于 API
查看>>
IntelliJ cannot log in to GitHub上传github报错解决
查看>>
MySQL强制性操作
查看>>
timestamp与timedelta,管理信息系统概念与基础
查看>>
重写对象ToString方法
查看>>
备忘: C++中的 vector 容器
查看>>
smt中查看图片与视频缩略图中,如何获得小视频的长度。
查看>>
图片(img标签)的onerror事件
查看>>
2013应届毕业生“百度”校招应聘总结
查看>>
CentOS系统启动流程
查看>>
myEclipse的Aptana studio插件安装时出现Error opening the editor.
查看>>