【发布时间】:2019-01-26 21:35:18
【问题描述】:
我很难找到一种更有效的方式从 AD 中查询信息。就目前而言,我从我们的学生信息系统中导入了一个活跃用户的.csv 文件。然后我想从 AD 创建一个新的.csv 活动用户信息文件。因此,我正在查询每个用户(大约 1 万名学生)的 AD。我觉得我可以通过一个查询以某种方式完成此任务,但没有运气。学生匹配存储在 AD 标题字段中的数字 ID。该代码确实有效,但需要数小时才能运行。这是我使用的:
$Users = Import-Csv "c:\DASLExport.csv" -Header @("a") | Select a
$usersarray = @()
ForEach ($Row in $Users) {
$userSearchString = $Row.a
$currentUser = (Get-ADUser -Filter {Title -eq $userSearchString} -Properties title, SamAccountName, extensionAttribute1)
$UserObj = New-Object PSObject
Add-Member -InputObject $UserObj -MemberType NoteProperty -Name "ID" -Value $($currentUser.title)
Add-Member -InputObject $UserObj -MemberType NoteProperty -Name "Username" -Value $($currentUser.SamAccountName)
Add-Member -InputObject $UserObj -MemberType NoteProperty -Name "Password" -Value $($currentUser.extensionAttribute1)
$usersarray += $UserObj
}
If($usersarray.count -gt 0) {$usersarray | Export-Csv -Path 'c:\users.csv' -NoTypeInformation}
【问题讨论】:
标签: powershell csv active-directory