ADSI的问题,请高手解答!

retag 2003-12-15 06:24:13
Set WWWServer=GetObject("IIS://LocalHost/W3SVC/1")
ServerComment=WWWServer.Get("ServerComment")


'已知该站点存在,ServerComment可以获取其站点名称,不知如何获取该站点的状态?(启动 暂停 停止)
...全文
15 点赞 收藏 6
写回复
6 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
leiaming 2003-12-16
给大家谈谈技术相关的
回复
retag 2003-12-16
问题已解决!
.ServerState

用for语句循环得到190多个属性,呵呵:)
回复
swich 2003-12-16
ding
回复
retag 2003-12-16
顶一下!
回复
lions911 2003-12-16
接点分,凑个热闹:

下面就是一个ADSI脚本,它的作用就是在域中创建一个用户帐户:

On Error Resume Next
strUser="UserID"
Set oDomain=GetObject("WinNT://YourDomain")
Set oUser=oDomain.Create ("user", strUser)
If (err.number=0) Then '如果不为0,则说明此用户名已经存在
oUser.SetInfo
oUser.SetPassword "mypassword"
oUser.SetInfo
End If

如果你安装了resource kit,这段代码主要利用netcom这条命令进行工作,下面是netcom的一个例子:

NETDOM /Domain:MYDOMAIN /user:adminuser /password:apassword MEMBER MYCOMPUTER /ADD

下面是一段代码:

'***********************
'* Start Script
'***********************

Dim sComputerName, sUserOrGroup, sPath, computerContainer, rootDSE, lFlag
Dim secDescriptor, dACL, ACE, oComputer, sPwd

'*********************************************************************
'* 声明机器帐户,定义机器帐户标记和安全标记
'*********************************************************************

Const UF_WORKSTATION_TRUST_ACCOUNT = &H1000
Const UF_ACCOUNTDISABLE = &H2
Const UF_PASSWD_NOTREQD = &H20
Const ADS_GUID_COMPUTRS_CONTAINER = "aa312825768811d1aded00c04fd8d5cd"
Const ADS_ACETYPE_ACCESS_ALLOWED = 0
Const ADS_ACEFLAG_INHERIT_ACE = 2

lFlag = UF_WORKSTATION_TRUST_ACCOUNT Or UF_ACCOUNTDISABLE Or UF_PASSWD_NOTREQD
sComputerName = "TestAccount"

'*********************************************************************
'* 创建AD窗口用于容纳客户
'*********************************************************************

Set rootDSE = GetObject("LDAP://RootDSE")
sPath = "LDAP://<WKGUID=" & ADS_GUID_COMPUTRS_CONTAINER
sPath = sPath + ","
sPath = sPath + rootDSE.Get("defaultNamingContext")
sPath = sPath + ">"
Set computerContainer = GetObject(sPath)
sPath = "LDAP://" & computerContainer.Get("distinguishedName")
Set computerContainer = GetObject(sPath)

Set oComputer = computerContainer.Create("computer", "CN=" & sComputerName)
oComputer.Put "samAccountName", sComputerName + "$"
oComputer.Put "userAccountControl", lFlag
oComputer.SetInfo

'*********************************************************************
'* 设置密码
'*********************************************************************

sPwd = sComputerName & "$"
sPwd = LCase(sPwd)
oComputer.SetPassword sPwd

sUserOrGroup = "MYDOMAIN\joesmith"

Set secDescriptor = oComputer.Get("ntSecurityDescriptor")
Set dACL = secDescriptor.DiscretionaryAcl
Set ACE = CreateObject("AccessControlEntry")

'*********************************************************************
'* -1代码完全控制
'*********************************************************************

ACE.AccessMask = -1
ACE.AceType = ADS_ACETYPE_ACCESS_ALLOWED
ACE.AceFlags = ADS_ACEFLAG_INHERIT_ACE

ACE.Trustee = sUserOrGroup

dACL.AddAce ACE
secDescriptor.DiscretionaryAcl = dACL

oComputer.Put "ntSecurityDescriptor", Array(secDescriptor)
oComputer.SetInfo

oComputer.AccountDisabled = False
oComputer.SetInfo

wscript.echo "The command completed successfully."

'*****************
'* End Script
'*****************

如果希望更新一个已存在用户的信息可以使用下面的代码:

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

至于创建一个组,下面的代码就可以了:

strGroup="NewGroupName"
Set oDomain = GetObject("WinNT://YourDomain")
Set oGroup = oDomain.Create ("group", strGroup)
oGroup.SetInfo
回复
帮UP
回复
相关推荐
发帖
ASP
创建于2007-09-28

2.8w+

社区成员

ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
申请成为版主
帖子事件
创建了帖子
2003-12-15 06:24
社区公告
暂无公告