讨论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
%>
使用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
%>
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货