时间:2021-05-22
假若你登录到了一个AD中你可以轻松的查询AD目录。在先前的技巧中我们阐述了一个基本脚本。这里有一个可以自定义根目录的扩展方法(设置你的查询点),它支持同步查询(而不是递归到一个容器)。
它同时也阐述了怎么从一个活动目录查找结果再将其转化成用户对象:
$SAMAccountName = 'tobias'$SearchRoot = 'LDAP://OU=customer,DC=company,DC=com'$SearchScope = 'OneLevel' $ldap = "(&(objectClass=user)(samAccountName=*$SAMAccountName*))"$searcher = [adsisearcher]$ldap$searcher.SearchRoot = $SearchRoot$searcher.PageSize = 999$searcher.SearchScope = $SearchScope $searcher.FindAll() | ForEach-Object { $_.GetDirectoryEntry() } | Select-Object -Property *支持所有的PS版本
想要了解AD中账号使用情况,如什么时候创建\最后一次登录是时间\最后一次修改密码等信息,利用PowerShell,这些都可以达到.
PowerShell中Get-AdUser能查询的信息很多,可参考下面文章:
http://social.technet.microsoft.com/wiki/contents/articles/12037.active-directory-get-aduser-default-and-extended-properties.aspx
下面介绍用PowerShell查询指定OU中所有账号的创建时间\SID\上次修改密码时间\最后一次登录时间,CMDlet如下:
Get-ADuser -searchbase ' OU=User,OU=Compay1,DC=Domain,DC=COM ' -filter * -Properties * | Select-Object Name,SID, Created,PasswordLastSet,@{n="lastLogonDate";e={[datetime]::FromFileTime($_.lastLogonTimestamp)}} | Export-CSV Accountlist.csv -NoTypeInformation -Encoding UTF8
(请自行修改OU和域信息)
查询出指定的结果生成.CSV文件,用Excel打开,进行需要的统计与分析,效果如下:
如果要查询整个AD中的所有账号,取消中间的-searchbase ' OU=User, OU=Compay1,DC=Domain,DC=COM '即可.
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
查询数据会比较耗时,所以我们想把查询数据放在一个异步任务中,查询结果获得Cursor,然后在onPostExecute(Cursorresult)方法中设置Ad
在前面的PowerShell技巧中,我们看到了PowerShell控制台支持输出所有TrueType字体的字符,你只需将你的字符代码转换成Char类型。今天再来
详解C#使用AD(ActiveDirectory)验证内网用户名密码1.连到内网,找到AD的domain地址nslookupsettypes=all_ldap.
适用于PowerShell2.0或着更高版本当你使用PowerShell创建了一个函数时,要确保你告诉PowerShell你的参数期望什么样的值。比如你想用户输
所谓AD,即ActiveDirectory,目录服务,在AD数据库中有成千上万的用户数据,如果有一天AD数据遭到破坏了,用户的数据就丢失了,这将是一个巨大的损失