将电子邮件地址转换为SamAccountName

时间:2018-02-05 14:57:18

标签: powershell active-directory

我有这样的csv:

Group;User
TestGroup1;test1@domain.com
TestGroup2;test2@domain.com

现在我想将该组添加到用户。我不能通过邮件地址添加它们,所以我必须得到SamAccountName。这就是我提出的:

Import-module ActiveDirectory

foreach ($item in (Import-CSV users.csv -delimiter ";"))
{
    $userMail = $item.("User")
    $userSAM = Get-ADUser -Filter {mail -eq $userMail} -Properties SamAccountName
    Write-Host $item.("Group") $userSAM
}

但变量" UserSAM"保持紧张。

1 个答案:

答案 0 :(得分:1)

这应该只返回用于将用户添加到组中的用户名。

Import-Module ActiveDirectory
foreach ($item in (Import-CSV users.csv -Delimiter ";")) {
      $userMail = $item.User
      $userSAM = Get-ADUser -Filter {mail -eq $userMail} | Select-Object -ExpandProperty SamAccountName
      Write-Host $item.Group $UserSAM
}

如果这返回了你需要的东西,只需将这一行添加到循环的末尾:

    Add-ADGroupMember -Identity $item.Group -Members $UserSAM