2011-07-08 6 views
1

スクリプトに問題があります。これを試すたびに、次のエラーメッセージが表示されます。Powershell Get-ADUserエラーメッセージ

Get-Adus: "DC = DOMAIN、DC = local"のIDが "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

このエラーが発生した理由は、パラメータとして「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 
} 

で保護しかし、あなたは、より良い、このパラメータが指定されている理由を理解するためにあなたの呼び出し元のスクリプトをデバッグすると思います。

+0

解決策とアドバイスをありがとう。私はそれを調べる;) –