2012-12-28 90 views
0

我現在處於虧損狀態;我已經用幾種不同的方法試過這個腳本,但不斷收到一個錯誤,說There is no such object on the server at character 20,2嘗試將用戶添加到Active Directory時出錯

該行的內容

Set objOU = GetObject("LDAP://ou=users,dc=asp,dc=rippe,dc=com") 

我得到一個不同的錯誤,當我改變OUCN旁邊給用戶。

希望的最終結果是從HTML表單獲取所有變量,然後腳本將運行以在我們的域上創建新用戶。

我甚至還沒有把用戶添加到組中,因爲我無法通過這個路障。

Dim strID,StrFName,strLName,strFirm,strPwd,strServer,strLMS,strSql,strLMSV 

strID = zademo 
strFName = Demo 
strLName = Tester 
strFirm = Demo 
strPwd = za1234 
strServer = rkasp01 
strLMS = y 
strSql = y 
strLMSV = y 
strDisplay = strLName & ", " & strFName 


'Create Citrix User Account 

If strSql = y OR strLMSV = y Then 

    Set objOU = GetObject("LDAP://ou=Users,dc=asp,dc=rippe,dc=com") 

    Set objUser = objOU.Create("User", "cn=" & strDisplay) 
    objUser.Put "sAMAccountName", strID 
    objUser.Put "Description", strFirm 

    objUser.Put "givenName", strFName 
    objUser.Put "sn", strLName 
    objUser.Put "displayName", strDisplay 
    objUser.Put "homedirectory", "\\rkpdc\" & strFirm & "\" & strID 
    objUser.Put "scriptpath", strFirm & ".bat" 
    objUser.SetInfo 

End If 

objUser.SetPassword strPwd 
objUser.Put "PasswordExpired", CLng(1) 
objUser.AccountDisabled = FALSE 
objUser.SetInfo 

回答

0

您是否嘗試過將example.com替換爲實際的域名?

GetObject("LDAP://example.com/OU=Users,DC=asp,DC=rippe,DC=com") 
+0

感謝快速回復Sorceri,是的,我已經從字符串中刪除了example.com,並將其替換爲實際的域名。 –

+0

@Patrick Stoddard問題解決了嗎? (應該有)。如果是的話,你可以將它標記爲已回答。如果不是,你仍然收到錯誤? – Sorceri

+0

這從來不是問題,因爲那從來都不是我的代碼的一部分。 –

1

集objOU傳遞= GetObject的( 「LDAP:// OU =用戶,DC = ASP,DC = rippe,DC = COM」)

一般 「用戶」 是一個容器,不是一個OU。

嘗試:

設置objOU傳遞= GetObject的( 「LDAP:// CN =用戶,DC = ASP,DC = rippe,DC = COM」)

+0

我已經嘗試過Daro這兩種方法,但它仍然無法正常工作。 –

+0

什麼是新錯誤?並且 - 如果您確實需要用戶名中的逗號,則需要使用反斜槓(\\)將其轉義。否則,名字將被視爲路徑的下一部分。儘管如此,我會竭力勸告不要在用戶名中使用逗號!讓您的生活更輕鬆,並保留用戶名,userprincipalname的第一部分,samaccountname和mailnickname(如果您使用交換)相同! – Daro

0
Option Explicit 
Dim strUserName 
Dim objRootLDAP 
Dim objContainer 
Dim objNewUser 
strUserName = "MorganTestUser" 

Set objRootLDAP = GetObject("LDAP://rootDSE") 

' You can give your own OU like LDAP://OU=TestOU instead of LDAP://CN=Users 
Set objContainer = GetObject("LDAP://CN=Users," & _ 
objRootLDAP.Get("defaultNamingContext")) 

Set objNewUser = objContainer.Create("User", "cn=" & strUserName) 
objNewUser.Put "sAMAccountName", strUserName 
objNewUser.Put "givenName", "Morgan" 
objNewUser.Put "sn", "TestUser" 
objNewUser.Put "displayName", "Morgan TestUser" 
objNewUser.Put "Description", "AD User created by VB Script" 
objNewUser.SetInfo 

objNewUser.SetPassword "MyPassword123" 
objNewUser.Put "PasswordExpired", CLng(1) 
objNewUser.AccountDisabled = FALSE 

MsgBox ("New Active Directory User created successfully by using VB Script...") 

WScript.Quit 
相關問題