获取AD用户的管理员和与该用户的管理员相关联的主要组

时间:2019-12-14 20:47:56

标签: powershell

我是PowerShell脚本的新手。我正在尝试将用户的经理数据从AD导出到csv文件。我创建了一个PowerShell脚本,该脚本从AD获取用户的经理数据,如下所示:

List<Items>

以及与经理和他管理的用户相关联的主要组。

我在代码中导入name, samaccountName, email address 文件以检索管理器数据,然后将数据导出到user.csv。我的代码不起作用。你能帮我吗?

这里是导入文件user_manager.csv

user.csv

代码如下:

id        userid      groups  
-----------------------------
1         fiyx        f0302        
2         bise        acct     
3         misye       d4029        
4         suew        sales   

下面是我想在user_manager.csv中看到的结果:

Import-Csv -Path "\tmp\user.csv" |
$user = Get-ADUser -Identity $_.userid -Properties manager
$group  = Get-ADGroup -Identity $_.group.userid -Properties groups
 $_ | Add-Member -MemberType NoteProperty -Name 'Manager' -Value $manager.Name
$manager = Get-ADUser -Identity $user.Manager -Properties samaccountname, displayName, mail
 $_

} | Export-CSV -Path "C:\tmp\manager_user.csv" –NoTypeInformation

1 个答案:

答案 0 :(得分:0)

请始终将您遇到的错误添加到帖子中,这样我们就不会猜测可能会出现问题的位置。我没有在第一行的结尾处得到管道。有时,循环有助于使脚本更具可读性。这应该起作用:

$data = Import-Csv -Path "\tmp\user.csv"
foreach ($entry in $data){
    $user = Get-ADUser -Identity $entry.userid -Properties manager
    $manager = Get-ADUser -Identity $user.Manager -Properties samaccountname, displayName, mail
    $entry | Add-Member -MemberType NoteProperty -Name 'Manager' -Value $manager.Name
    $entry | Add-Member -MemberType NoteProperty -Name 'samaccountname' -Value $manager.samaccountname
    $entry | Add-Member -MemberType NoteProperty -Name 'mail' -Value $manager.mail
}

$data | Export-CSV -Path "C:\tmp\manager_user.csv" –NoTypeInformation