Powershell Get-ADUser错误消息

时间:2011-07-08 10:03:50

标签: powershell active-directory windows-server-2008-r2

我的脚本出现问题。每次我尝试它,我都会收到以下错误消息:

  

Get-Adus:在“DC = DOMAIN,DC = local”下找不到身份为“HAL.9000”的对象。

我真的不知道为什么会收到此错误,因为我的脚本通常不应该显示它。

这是我的剧本:

检查用户是否存在的功能:

Function CheckUser
{
  param($NameUser)

  $check = get-ADUser -Identity $NameUser

  if($check)
  {
    $exist = 1
  }
  else
  {
    $exist = 0
  }
  return $exist
}

还有代码调用我的函数:

$exist = CheckUser $login
if($exist)
{
    #Prompt message that user exist
}
else
{
    #Create user
}

我在这里遗漏了什么吗?为什么我收到此错误消息?

1 个答案:

答案 0 :(得分:1)

您只需使用“HAL.9000”作为参数调用函数CheckUser,这就是您遇到此错误的原因!如果你想避免使用try / catch

进行保护
Function CheckUser
{
  param($NameUser)

  try
  {
    $check = get-ADUser -Identity $NameUser

    if($check)
    {
      $exist = 1
    }
    else
    {
      $exist = 0
    }
  }
  catch
  {
   $exist = 0
  }
  return $exist
}

但是你最好调试你的调用脚本,以了解为什么给出这个参数。