Tip 002 : 透過 VBScript 控制 ADSI

发表于:2007-05-25来源:作者:点击数: 标签:002透過ADSITipVBScript
Dr.DNN 開講 開發工具 : WSH 使用語言 : VB Script 相關技術 : Windows Scripting Host ,ADSI 困難度 : ★★★☆☆ Dr.DNN 開講 開發工具 : WSH 使用語言 : VBScript 相關技術 : Windows Scripting Host ,ADSI 困難度 : ★★★☆☆ Tip 002 : 透過 VBScript

Dr.DNN 開講

開發工具

: WSH
使用語言 : VBScript
相關技術 : Windows Scripting Host ,ADSI
困難度 : ★★★☆☆

Dr.DNN 開講

開發工具

: WSH
使用語言 : VBScript
相關技術 : Windows Scripting Host ,ADSI
困難度 : ★★★☆☆

Tip 002 : 透過 VBScript 控制 ADSI
  1. 前言
  2. 範例程式碼
  3. :

    你知道曾執網路系統牛耳的Novell 公司,在 Windows NT 的節節進逼之後,已將公司定位為提供Directory Service(目錄服務)的公司了嗎?你知道Microsoft在Windows NT 5.0中,也將提供 ADSI (Active Directory Service Interface)了嗎?看來,在 Directory Service市場中,Microsoft和 Novell 似乎又將有一場惡仗要打。

    如果您是一位MIS或網管人員,對上述訊息當然不陌生,不過如果您是一位Developer,顯然也無法置身事外。為什麼呢?因為Microsoft已將VBScrip衍生至相關的系統之中,要控制NT系統核心或ADSI,只要透過Windows Scripting Host 配合VBScript的簡易語法(當然你也可以使用

    Ok,廢話不多說,接著讓我們看看幾個實際的範例程式碼,看看ADSI的威力吧!

    :
    Windows NT 的節節進逼之後,已將公司定位為提供Directory Service(目錄服務)的公司了嗎?你知道Microsoft在Windows NT 5.0中,也將提供 ADSI (Active Directory Service Interface)了嗎?看來,在 Directory Service市場中,Microsoft和 Novell 似乎又將有一場惡仗要打。 JavaScript),你就能擁有NT網路系統核心的整個世界!
1. 如何偵測NT使用者所在的群組 ?
dsRoot = "WinNT://domain/userid"
set wshShell = Wscript.CreateObject("Wscript.Shell")
set dsObj = GetObject(dsRoot)
For Each Prop In dsobj.groups
    wshshell.popup Prop.Name
Next 'Prop
2. 如何透過 ADSI 更新 NT 的使用者設定 ?
set user = GetObject("WinNT://domain/user")
     User.FullName = FirstNameVar
     User.HomeDirectory = UserHome
     User.Profile = "\Server\Share\user"
     User.LoginScript = LogonScript
     User.Description = "Description"

     User.setinfo

 
3. 如何列出NT網路中的所有網域 DOMAIN
Using ADSI you can do the following...
Dim adsNS, adsDomain
Set WSHShell = WScript.CreateObject("WScript.Shell")
Set adsNS = GetObject("WinNT:")
adsNS.Filter = Array("domain")
For Each adsDomain In adsNS
WSHShell.popup adsDomain.ADsPath
Next 'adsDomain

 
4. 如何建立 NT 使用者?
On Error Resume Next
strUser="UserID"
Set oDomain = GetObject("WinNT://YourDomain")
Set oUser = oDomain.Create ("user", strUser)
If (err.number = 0) Then 'If not 0 then user ID already exists
    oUser.SetInfo
oUser.SetPassword "mypassword"
oUser.SetInfo
End If
5. 如何建立NT的使用者群組 ?
StrGroup="NewGroupName"
Set oDomain = GetObject("WinNT://YourDomain")
Set oGroup = oDomain.Create ("group", strGroup)
OGroup.SetInfo
您只要將上述程式碼,放置在 NT 的任何目錄中,將副檔名存為 .vbs並直接執行,就可以看到ADSI的威力囉!

Ok , 有關

ADSI 的相關資訊,您可以在下列位址中找到更多資訊 :
ADSI User Group
http://www.15seconds.com/focus/ADSI.htm
Understanding ADSI
http://www.15seconds.com/Issue/980304.htm
Configuring NTLM with ADSI
http://www.15seconds.com/Issue/980318.htm

 

原文转自:http://www.ltesting.net