按员工编号禁用csv文件中的用户,然后进入某个OU

时间:2016-05-10 21:01:03

标签: csv powershell active-directory

我正在尝试将已终止员工的列表与AD属性EmployeeNumber进行比较。

当我运行下面的代码时,它似乎只为每个员工编号返回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)"
  }
}

1 个答案:

答案 0 :(得分:0)

您的Get-ADUser命令正在使用LDAPFilter参数,但未使用LDAP过滤语法。您有两个选项,将参数更改为-Filter或更改过滤sytax。

Get-ADUser -Filter

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

Get-ADUser -LDAPFilter

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