- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在寻求一些帮助,希望没有人会因为我无知而抨击我。
不久前,我成为了一名 AD 管理员,组织很大,所以任务各不相同。在大多数情况下,我可以通过 Powershell 或管理单元轻松完成我需要的工作。
但是,我手上的任务超出了我的“创造力”。我在 .csv 中有超过 10 000 个用户的列表,如果存在,我需要在本地 AD 中查找。我的两个问题是:
-我对脚本非常陌生,并且越来越沮丧,因为我无法理解它并使我的脚本按照我的需要工作
-这项任务和其他职责的截止日期让我没有时间阅读更多关于脚本基础知识和学习的信息。因此,在大多数情况下,我不得不在网络上寻找脚本片段并对其进行一些修改以满足我的需要。到目前为止,这一直有效,因为我手头上的脚本对我来说有点太复杂了。
到目前为止,我面临的最大问题是创建森林范围的搜索。我的组织有一个根域和 4 个子域。当运行一个简单的 foreach 循环时,如下所示:
ForEach ($User in (Import-Csv c:\users\public\users.csv))
{ If (Get-ADUser $User.mail -server GLOBALCATALOGADDRESS:xxxx)
{ Write-Host "User found: $($User.mail)"
}
Else
{ Write-Host "User not found: $($User.mail)"
}
}
#Get Domain List
$objForest = [System.DirectoryServices.ActiveDirectory.Forest]::GetCurrentForest()
$DomainList = @($objForest.Domains | Select-Object Name)
$Domains = $DomainList | foreach {$_.Name}
$User = Import-CSV c:\users\public\users.csv
#Act on each domain
foreach($Domain in ($Domains))
{
Write-Host "Checking $Domain" -fore red
$ADsPath = [ADSI]"LDAP://$Domain"
$objSearcher = New-Object System.DirectoryServices.DirectorySearcher($ADsPath)
#The filter
Foreach($mail in($User))
{
$objSearcher.Filter = "(&(objectCategory=user)(mail=$User.mail))"
$objSearcher.SearchScope = "Subtree"
$colResults = $objSearcher.FindAll()
foreach ($objResult in $colResults)
{
$objArray = $objResult.GetDirectoryEntry()
write-host $objArray.mail
}
}
}
#Get Domain List and load user e-mails from file
$objForest = [System.DirectoryServices.ActiveDirectory.Forest]::GetCurrentForest()
$DomainList = @($objForest.Domains | Select-Object Name)
$Domains = $DomainList | foreach {$_.Name}
$Users = Import-CSV c:\users\public\users.csv
#Act on each domain
foreach($Domain in ($Domains))
{
Write-Host "Checking $Domain" -fore red
Foreach($mail in ($Users.mail))
{
Get-ADUser -filter {mail -eq $mail} -Server $domain -properties mail | select mail
}
}
最佳答案
帮自己一个忙,下载 AD Powershell 模块:http://blogs.msdn.com/b/rkramesh/archive/2012/01/17/how-to-add-active-directory-module-in-powershell-in-windows-7.aspx
然后,您将能够简化代码并运行类似这样的操作,从而使您的任务更加清晰:
...
foreach($Domain in ($Domains))
{
Write-Host "Checking $Domain" -fore red
Foreach($mail in ($User.mail))
{
Get-ADUser -filter {mail -eq $mail} -Server $domain -Properties mail |
select-object -ExpandProperty mail
}
}
...
关于search - Active Directory Powershell - 使用 .csv 用户列表的林范围搜索脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23754987/
我的组织拥有由多个域名组成的事件目录林业。我需要编写一个应用程序以通过用户 ID 查找用户。 string username = "test_user_id"; Dir
有没有一种方法可以通过任何 Ldap 登录模块或任何其他特殊模块对 Active Directory 森林进行身份验证? standalone.xml 中有以下配置:
我是一名优秀的程序员,十分优秀!