尝试将员工编号添加到Active Directory

时间:2016-06-20 18:10:09

标签: powershell active-directory

我尝试通过导入带有名字,姓氏,员工编号和电子邮件字段的csv文件,为所有AD用户添加员工编号。

我遇到的问题是我遇到一些用户,csv文件中的第一个名称与AD中的第一个名称不匹配。

我已经搜索了几个星期,试图弄清楚如何使用姓氏来搜索广告,并且只使用csv中第一个名字字段的第一个字母来搜索广告,但是我不能弄明白。

非常感谢任何帮助。

这是我的剧本:

Import-Module ActiveDirectory
ForEach ($User in (Import-CSV -Path 'C:\Users\mike.mullen\Desktop\Active Users with Email.csv'))
{
$Last = $User.LastName
$First = $User.FirstName
$EmployeeNumber = $User.EmployeeId
Get-ADUser -Filter '(Surname -eq $Last) -and (GivenName -like $First)' |
Set-ADObject -Replace @{EmployeeNumber="$EmployeeNumber"}
}

1 个答案:

答案 0 :(得分:1)

如果您想构建一个搜索具有特定前缀的名字的过滤器(即CSV中第一个名字的第一个字母),您需要:

  1. $First
  2. 抓取第一个字符
  3. 在其中添加通配符*字符:
  4. 第一步可以使用String.Substring() method

    完成
    $Surname = $User.LastName
    $FirstLetter = $User.FirstName.Substring(0,1) + '*'
    Get-ADUser -Filter '(Surname -eq $Surname) -and (GivenName -like $FirstLetter)'