2016-03-19 110 views
1

私はWindows 7 PCをドメインに参加させるために以下のvbsを持っています。実行時にエラーは発生しませんが、出力はなく、ドメインに参加しません。VBSでの問題勝利7でドメインに参加する

誰もがこの問題を見て、エラーキャプチャを追加する方法を提案できますか?

'On Error Resume Next 

strDomain = "domain.local" 
strPassword = "password" 
strUser = "user" 
strOU = "OU=OU1,OU=OU2,OU=OU3,OU=OU with spaces in name,DC=domain,DC=local" 


Const JOIN_DOMAIN = 1 
Const ACCT_CREATE = 2 
Const ACCT_DELETE = 4 
Const WIN9X_UPGRADE = 16 
Const DOMAIN_JOIN_IF_JOINED = 32 
Const JOIN_UNSECURE = 64 
Const MACHINE_PASSWORD_PASSED = 128 
Const DEFERRED_SPN_SET = 256 
Const INSTALL_INVOCATION = 262144 

Set objNetwork = CreateObject("WScript.Network") 
strComputer = objNetwork.ComputerName 

' Join Domain 
Set objComputer = GetObject("winmgmts:{impersonationLevel=Impersonate}!\\" & _ 
strComputer & "\root\cimv2:Win32_ComputerSystem.Name='" & _ 
strComputer & "'") 
ReturnValue = objComputer.JoinDomainOrWorkGroup(strDomain, _ 
strPassword, strDomain & "\" & strUser, strOU, _ 
JOIN_DOMAIN + ACCT_CREATE + DOMAIN_JOIN_IF_JOINED) 

Select Case ReturnValue 

Case 0 Status = "Success" 

Case 2 Status = "Missing OU" 

Case 5 Status = "Access denied" 

Case 53 Status = "Network path not found" 

Case 87 Status = "Parameter incorrect" 

Case 1326 Status = "Logon failure, user or pass" 

Case 1355 Status = "Domain can not be contacted" 

Case 1909 Status = "User account locked out" 

Case 2224 Status = "Computer Account already exists" 

Case 2691 Status = "PC already on domain" 

Case Else Status = "UNKNOWN ERROR " & ReturnValue 

' Show Status 
WScript.Echo "Join domain status: " & Status 

End Select 
+0

最後の 'WScript.Echo'呼び出しを' select case'ステートメントの外に移動して、戻り値が何であるかを確認できます。選択後にする必要があります。 – Lankymart

+1

私はそれをやめなかったと信じられない!ありがとう。今問題を解決しました! – Qazxswe

答えて

0

あなただけCase Elseに表示されますケース内部変数StatusしかしWScript.Echoを介して出力それにラインを設定しています。これを修正するには、End Selectの後の行に移動して、Caseのすべてのインスタンスに対してStatusの値を確認します。

Select Case ReturnValue 
Case 0 
    Status = "Success" 
Case 2 
    Status = "Missing OU" 
Case 5 
    Status = "Access denied" 
Case 53 
    Status = "Network path not found" 
Case 87 
    Status = "Parameter incorrect" 
Case 1326 
    Status = "Logon failure, user or pass" 
Case 1355 
    Status = "Domain can not be contacted" 
Case 1909 
    Status = "User account locked out" 
Case 2224 
    Status = "Computer Account already exists" 
Case 2691 
    Status = "PC already on domain" 
Case Else 
    Status = "UNKNOWN ERROR " & ReturnValue 
End Select 

' Show Status 
WScript.Echo "Join domain status: " & Status 
関連する問題