我尝试通过导入带有名字,姓氏,员工编号和电子邮件字段的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"}
}
答案 0 :(得分:1)
如果您想构建一个搜索具有特定前缀的名字的过滤器(即CSV中第一个名字的第一个字母),您需要:
$First
*
字符:第一步可以使用String.Substring()
method
$Surname = $User.LastName
$FirstLetter = $User.FirstName.Substring(0,1) + '*'
Get-ADUser -Filter '(Surname -eq $Surname) -and (GivenName -like $FirstLetter)'