2016-05-10 4 views
1

終了した従業員のリストをEmployeeNumberというAD属性に比較しようとしています。従業員番号でcsvファイル内のユーザーを無効にしてから、特定のOUに移動する

以下のコードを実行すると、各従業員番号に対してnullが返されるだけです。

私は、ユーザーごとにエラーが表示されます。

ユーザーは、私が比較すると間違って何をやっているAD

には存在しないのですか?

$file = Import-CSV Term.csv 
foreach ($u in $file) { 
    $user = Get-ADUser -LDAPFilter "EmployeeNumber -eq $($u.Emp)" 
    If ($user -eq $Null) { 
    "User does not exist in AD " + $u.EmployeeName + " - " + $u.Emp 
    } Else { 
    Disable-ADAccount $user 
    Move-ADObject $user -TargetPath 'OU=Disabled Users,OU=Org Users,DC=Company,Dc=com' 
    Set-ADUser $user -Description "Account Disabled on $(get-date)" 
    } 
} 
+0

'-LDAPFilter' -Filter' –

答えて

0

あなたGet-ADUserコマンドはLDAPFilterパラメータを使用して、それにLDAPフィルター構文を使用していません。ここでは2つのオプションがあります。パラメータを-Filterに変更するか、フィルタリングsytaxを変更してください。

のGet-ADUser -Filter

Get-ADUser -Filter "EmployeeNumber -eq $($u.Emp)" 

のGet-ADUser -LDAPFilter

Get-ADUser -LDAPFilter "(EmployeeNumber=$($u.Emp))" 
+0

'に両方のオプションは、おかげで働い変更してみてください! – kellhound

関連する問題