2016-06-20 57 views
0

私は、姓、名字、従業員番号、および電子メールフィールドを含むcsvファイルをインポートすることで、すべてのADユーザーに社員番号を追加しようとしています。Active Directoryに従業員番号を追加しようとしています

私が抱えている問題は、csvファイルのファーストネームがADのファーストネームと一致しないというユーザーが出てきていることです。

私はpowershellに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

あなたが特定のプレフィックス(つまり、CSVからの最初の名前から最初の文字。)との最初の名前を検索するフィルタを作成したい場合は、'LLする必要があります。

  1. グラブ$First
  2. からの最初の文字がそれにワイルドカード*文字を追加します。

最初のステップは、働いているString.Substring() method

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

で達成することができ、残念ながらそれは私たちのAD環境でのみ誤情報ではありません。しかし、それと電子メールの検索を使用して、私は私が世話をしたユーザーのほとんどを得ることができます。ありがとうalotマティアス! –

+0

@MikeMullenあなたは一番歓迎しています:)あなたが他の何もかもと闘っているなら別の質問をしてください –

関連する問題