top
Loading...
ADSI,使用ASP來完成NT管理
我上次說的是如何使用ADSI管理web server這次討論ADSI如何對NT進行管理
使用ADSI對IIS進行管理需要OP4
而對NT要進行ADSI管理則需要NTLM
NTLM提供以下幾個對象: Domain, Group, and User.
通過domain對象你可以增加groups和users.
警告:
以下的例子都將改變NT訪問權限數據庫;任意增加和改變NT用戶的權限
使用前請仔細閱讀,請只在測試的機器上運行這些程序,只到你掌握了NTLM
的工作原理為止。千萬不要危害到真正主機的安全。
只有擁有Administrator或則Operator權限的人才能夠在運行IIS機器上
更改NT的用戶數據庫。所以,使用Anonymous權限登錄是沒有權限的。
當然如果使用SSL的話也能夠保證安全性。
例子如下:
新建一個用戶:
可以在一個獨立的服務器上,也可以在一個主域服務器上新增用戶
<%

On Error Resume Next

strDomain="MACHINENAME"
strUser="jdoe"

Set oDomain = GetObject("WinNT://" & strDomain)

Set oUser = oDomain.Create ("user", strUser)

If (err.number = 0) Then
oUser.SetInfo
oUser.SetPassword "mypassword"
oUser.SetInfo
Set oUser=Nothing
End If

Set oDomain=Nothing
%>

新增加一個組:
<%

strDomain="MACHINENAME"
strGroup="Unidentified"

Set oDomain = GetObject("WinNT://" & strDomain)

Set oGroup = oDomain.Create ("group", strGroup)

oGroup.SetInfo

Set oDomain=Nothing
Set oGroup=Nothing
%>

把一個用戶增加到一個組中.
<%
strDomain="MACHINENAME"
strUser="jdoe"
strGroup="Unidentified"

Set oDomain = GetObject("WinNT://" & strDomain)
Set oGroup = oDomain.GetObject("Group", strGroup)

oGroup.Add ("WinNT://" & strDomain & "/" & strUser)

Set oDomain=Nothing
Set oGroup=Nothing
%>
配置用戶信息
<%

strDomain="MACHINENAME"
strUser="jdoe"

Set oUser = GetObject("WinNT://" & strDomain & "/" & strUser)

' Setting the Account Expiration to 30 days from today

dtExpirationDate=Now()
dtExpirationDate=DateAdd("d",30,dtExpirationDate)

oUser.AccountExpirationDate = dtExpirationDate

' Setting the Full Name of the User
oUser.FullName="Joe Doe"

oUser.SetInfo()

Set oUser=Nothing
%>
繼承用戶
<%
strDomain="MACHINENAME"
strGroup="Unidentified"

Set Group = GetObject("WinNT://" & strDomain & "/" & strGroup)

For Each Member in Group.Members

If (Member.Class="User") Then

' Here is where you would do
' something with the user

End If
Next
%>
當你是使用的NT5.0時,就不需要安裝NTLM了,因為NT5.0提供對ADSI的支持。

北斗有巢氏 有巢氏北斗