簡體   English   中英

在服務器外部運行用戶創建VBS的Active Directory不授予組成員身份

[英]Active Directory running user creation VBS outside of server doesnt grant groupmembership

我的問題是:當我在服務器上運行用戶創建腳本時,它運行正常,創建了一個用戶並具有成員身份(根據.txt文件)

當我在服務器之外運行相同腳本時,會創建用戶,但沒有成員資格

當我在服務器外部運行與管理員相同的腳本時,將創建用戶,但沒有成員身份

因此,這是添加成員資格的相關代碼:

Dim fso, f, Row, Field
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.OpenTextFile ("\\some\folder\user.txt",1,0)

Do while not f.AtEndOfLine
Row = f.readLine
Field = split(Row,",")
Username = Field(0)
Group = Field(1)
Lastname = Field(2)
Password = Field(3)
ScriptP = Field(4)
Project = Field(5)
Call UserCreation(Username,Group,Lastname,Password,ScriptP)
Loop

f.Close
Wscript.Quit(0)

Sub UserCreation (Username,Group,Lastname,Password,ScriptP)
Dim ouo, b
Set ouo = GetObject("LDAP://OU=abcOU,DC=my,DC=domain")
Set b = ouo.Create("user", "CN=" & Group & " " & Lastname)
Dim WshShell, ret
Set WshShell = WScript.CreateObject("WScript.Shell")
b.Put "sAMAccountName", Username
b.Put "userPrincipalName", Username & "@my.domain"
b.Put "scriptPath", ScriptP
b.SetInfo
b.SetPassword Password
b.AccountDisabled = False
b.SetInfo

cmdbegin = "cmd /C dsmod group"
CN = "CN=TN_" & Project & ",OU=projectOU,DC=my,DC=domain" 
oudc = "OU=abcOU,DC=my,DC=domain"
cmdmid = "-addmbr"
grpadd = cmdbegin & " " & AddQuotes(CN) & " " & cmdmid & " " & AddQuotes("CN=" & Group & " " & Lastname & "," & oudc) & " >>\\some\folder\log.txt"
WshShell.Run grpadd

該log.txt只會在完成時添加如下一行:

dsmod was successful:CN=TN_Test,OU=projectOU,DC=my,DC=domain

問題的根源可能是您正在從中運行dsmod的計算機上未安裝dsmod ,因為該文檔說它僅默認安裝在域控制器上。 可以通過從命令行運行dsmod來確認。

但這似乎也很難做到。 您可以使用以下命令替換從cmdbegin行到末尾的所有內容:

Set group = GetObject("LDAP://CN=TN_" & Project & ",OU=projectOU,DC=my,DC=domain")
group.Add(b.aDSPath)

group變量將是IADsGroup對象,因此您可以使用其Add方法添加用戶。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM