• 全部
  • 问答

关于ADSI,请高手指点.(含代码)

gzhoney 2005-08-21 12:06:13
'=============================================================
'函数介绍:创建WebSite
'本函数使用ADSI,需要Administrators组用户权限
'函数名称:CreateWebSite(Computer,IPAddr,PortNum,HostName,WebSiteDirectory,LogDirectory,WebSiteInfo,GuestUserName,GuestUserPass,StartOrStop)
'程序开发:ASP001工作室 ChuQi
'用法:CreateWebSite 计算机名(一搬为LocalHost或127.0.0.1),站点IP地址,端口号,主机名,站点根目录,,LOG文件的目录站点说明,网站访问时所使用的帐号,网站访问时所用帐号的口令,是否启动站点
'例:CreateWebSite "LocalHost","127.0.0.123","80","www.test.net","E:\UserData\UserNum001","E:\UserData\UserNum001\LogFiles","wwwtest.net","IUSR_Num001_test.net","abc888",True
'=============================================================

Function CreateWebSite(Computer, IPAddr, PortNum, HostName, WebSiteDirectory, LogDirectory, WebSiteInfo, GuestUserName, GuestUserPass, StartOrStop)
Dim w3svc, WebServer, NewWebServer, NewDir
Dim Bindings, BindingString, NewBindings, SiteNum, SiteObj, bDone
'On Error Resume Next
Err.Clear
'检测是否能够加载W3SVC服务(即WEB服务)
Set w3svc = GetObject("IIS://" & Computer & "/w3svc")
If Err.Number <> 0 Then '显示错误提示
Response.Write "无法打开: " & "IIS://" & Computer & "/w3svc"
Response.End
End If

'检测是否有设定相同IP地址、端口及主机名的站点存在
BindingString = IPAddr & ":" & PortNum & ":" & HostName
For Each WebServer In w3svc
If WebServer.Class = "IIsWebServer" Then
Bindings = WebServer.ServerBindings
If BindingString = Bindings(0) Then
Response.Write "IP地址冲突:" & IPAddr & ",请检测IP地址!."
Exit Function
End If
End If
Next

'确定一个不存在的站点编号做为新建站点编号,系统默认WebSite站点编号为1,因此从2开始
SiteNum = 2
bDone = False

While (Not bDone)
Err.Clear
Set SiteObj = GetObject("IIS://" & Computer & "/w3svc/" & SiteNum) '加载指定站点
If (Err.Number = 0) Then
'response.write " Step_1站点"&SiteNum&"存在 "
SiteNum = SiteNum + 1
Else
'response.write " Step_1站点"&SiteNum&"不存在 "
Err.Clear
Set NewWebServer = w3svc.Create("IIsWebServer", SiteNum) '创建指定站点
If (Err.Number <> 0) Then
'response.write " Step_2站点"&SiteNum&"创建失败 "
SiteNum = SiteNum + 1
Else
'response.write " Step_2站点"&SiteNum&"创建成功 "
bDone = True
End If
End If

If (SiteNum > 50) Then '服务器最大创建站点数
Response.Write "超出服务器最大创建站点数,正在创建的站点的序号为: " & SiteNum & "."
Response.End
End If
Wend

'进行站点基本配置
NewBindings = Array(0)
NewBindings(0) = BindingString
NewWebServer.ServerBindings = NewBindings
NewWebServer.ServerComment = WebSiteInfo
NewWebServer.AnonymousUserName = GuestUserName
NewWebServer.AnonymousUserPass = GuestUserPass
NewWebServer.KeyType = "IIsWebServer"
NewWebServer.FrontPageWeb = True
NewWebServer.EnableDefaultDoc = True
NewWebServer.DefaultDoc = "Default.htm, Default.asp, Index.htm, Index.asp"
NewWebServer.LogFileDirectory = LogDirectory
NewWebServer.SetInfo

Set NewDir = NewWebServer.Create("IIsWebVirtualDir", "ROOT")
NewDir.Path = WebSiteDirectory
NewDir.AccessRead = True
NewDir.AppFriendlyName = "应用程序" & WebSiteInfo
NewDir.AppCreate True
NewDir.AccessScript = True
Err.Clear
NewDir.SetInfo
If (Err.Number = 0) Then
Else
Response.Write "主目录创建时出错."
Response.End
End If

If StartOrStop = True Then
Err.Clear
Set NewWebServer = GetObject("IIS://" & Computer & "/w3svc/" & SiteNum)
NewWebServer.Start
If Err.Number <> 0 Then
Response.Write "启动站点时出错!"
Response.End
Err.Clear
Else
End If
End If
Response.Write "站点创建成功,站点编号为:" & SiteNum & " ,域名为:" & HostName
End Function

在网上找到段代码?于量把他放在VB的类中,写成个DLL。
首先我VB里调用,调用时在:
Set SiteObj = GetObject("IIS://" & Computer & "/w3svc/" & SiteNum) '加载指定站点
这句提示"自动化错误",如果用On Error Resume Next强制运行,则可以在IIS里创建一站点只是没有创建到相应的文件夹。

如果在ASP里调用那DLL,则不能创建站点,同样,相应文件夹也没有创建。

请问这是什么原因?代码错在哪里?

...全文
166 点赞 收藏 4
写回复
4 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
jim.ma 2005-09-09
先检查站点是否有有这么高的权限 默认是最低的用户权限不可能允许创建的。
另外站点指定的目录是否存在。
回复
moeryang 2005-09-08
首先确定你运行程序的账号有没有Administrators组用户权限
asp运行的账号是IUser_机器名,肯定不是Administrators组,不能运行不奇怪;
至于vb应该是无法初始化Com
试下判断SiteObj是否为nothing
回复
凯晰叶子 2005-09-08
这些问题,很少有人会说的!
回复
gzhoney 2005-09-01
..
回复
相关推荐
关于ADSI请高手指点.(含代码) !!
'============================================================= '函数介绍:创建WebSite '本函数使用ADSI,需要Administrators组用户权限 '函数名称:CreateWebSite(Computer,IPAddr,PortNum,HostName,...
关于ADSI的问题,请高手指点
以下代码用来显示WEB Server上的站点信息 asp调试通过,可是在vb下执行时 set oIISObjects=GetObject("IIS://server114/W3SVC") 行报错,对象找不到 adsi类型库已引用 但 set oIISObjects=GetObject("WinNT://server...
ADSI2.5 SDK编程问题:我想在网站上添加用户申请电子邮箱的功能(就象新浪一样),可程序总报错,请高手进来...
我的服务器为NT4.0和IIS 4.0,Mail服务器为Exchange5.5。 我想在网站上添加用户申请电子邮箱的功能(就象新浪、263一样),即用户... 哪位高手给小弟指点一下,在下先行谢过了。谢谢谢谢谢谢谢谢谢谢谢谢谢谢您了!!!
关于ADSI的问题
在NT上安装ADSI2.5后,想使用如下代码通过ASP在NT上添加一个用户。 Dim oDomain Dim oUser Set oDomain = GetObject(...'80070005' 发生一般性访问被拒的错误 网高手指点迷津。 并请问在WINDOWS2000下程序如何写。
ADSI编程问题:::我想在网站上添加用户申请电子邮箱的功能(就象新浪、263一样),可程序总报错,请高手...
我的服务器为NT4.0和IIS 4.0,Mail服务器为Exchange5.5。 我想在网站上添加用户申请电子邮箱的功能(就象新浪、263一样),即用户... 哪位高手给小弟指点一下,在下先行谢过了。谢谢谢谢谢谢谢谢谢谢谢谢谢谢您了!!!
关于使用ADSI编程的问题
看下面的代码 private void Form1_Load(object sender, System.EventArgs e) { LoadData(); } private void LoadData() { TreeNode users = new TreeNode("Users"); TreeNode groups = new ...哪位高手指点一下。
急求!使用ABO或ADSI建立website的c++代码
小弟需要使用ABO或ADSI建立website,但用c++实现的文档很少,哪位高手指点一下啊! 需要建立IIsWebServer和IIsWebVirtualDir,谢谢!
通过adsi创建exchange2000用户的问题---向高手求救
objMailbox.CreateMailbox 时报错 错误提示为: 实时错误,"-2147016656(80072030)' 在服务器上没有这样一个对象: facility:ldap provide ID no: 80072030 microsoft cdo for exchange management 还望高手指点,...
有关ADSI的问题!
高手指点:为什么在站点刚被建立之后利用代码却找不到该站点? 相关代码如下: string siteName = GetNewSiteID() ; object[] prams = new object[2]{"IIsWebServer",Convert.ToInt32( siteName ) } ; DirectoryEntry ...
我想在网站上添加用户申请电子邮箱的功能(就象新浪、263一样),可程序总报错,请高手指点一下!...
我的服务器为NT4.0和IIS 4.0,Mail服务器为Exchange5.5。 我想在网站上添加用户申请电子邮箱的功能(就象新浪、263一样),即用户... 哪位高手给小弟指点一下,在下先行谢过了。谢谢谢谢谢谢谢谢谢谢谢谢谢谢您了!!!
请问怎么实现检测IISWEB服务器是否存在?用ADSI。下面是VB实现的代码
请高手指点:!! Set vRootDir = GetObject("IIS://LocalHost/W3SVC/1/ROOT") dirs(5) = vRootDir.Path If dirs(5) = "" Then MsgBox "安装程序没有检测到IIS WEB服务器软件,先安装或重新安装IIS WEB服务器软件...
请问怎么实现检测IISWEB服务器是否存在?用ADSI。下面是VB实现的代码,c++怎样实现?
请高手指点:!! Set vRootDir = GetObject("IIS://LocalHost/W3SVC/1/ROOT") dirs(5) = vRootDir.Path If dirs(5) = "" Then MsgBox "安装程序没有检测到IIS WEB服务器软件", vbCritical, "安装失败
我想在网站上添加用户申请电子邮箱的功能(就象新浪一样),可程序总报错,请高手进来指点一下!!
我的服务器为NT4.0和IIS 4.0,Mail服务器为Exchange5.5。 我想在网站上添加用户申请电子邮箱的功能(就象新浪、263一样),即用户... 哪位高手给小弟指点一下,在下先行谢过了。谢谢谢谢谢谢谢谢谢谢谢谢谢谢您了!!!
我想在网站上添加用户申请电子邮箱的功能(就象新浪、263一样),可程序总报错,请高手进来指点一下!...
我的服务器为NT4.0和IIS 4.0,Mail服务器为Exchange5.5。 我想在网站上添加用户申请电子邮箱的功能(就象新浪、263一样),即用户... 哪位高手给小弟指点一下,在下先行谢过了。谢谢谢谢谢谢谢谢谢谢谢谢谢谢您了!!!
求救:用ADSI设置文件夹权限时的困惑
请高手指点,谢谢! 程序代码如下: ADsSecurity objADsSec; SecurityDescriptor objSecDes; AccessControlList objDAcl; AccessControlEntry objAce1; AccessControlEntry objAce2; Object objSIdHex; ADsSID ...
ADSI2.5 SDK编程的问题!!!!!
我的服务器为NT4.0和IIS 4.0,Mail服务器为Exchange5.5。 我想在网站上添加用户申请电子邮箱的功能(就象新浪、263一样),即用户... 哪位高手给小弟指点一下,在下先行谢过了。谢谢谢谢谢谢谢谢谢谢谢谢谢谢您了!!!
ADSI2.5 SDK编程的问题!!!!!!!!
我的服务器为NT4.0和IIS 4.0,Mail服务器为Exchange5.5。 我想在网站上添加用户申请电子邮箱的功能(就象新浪、263一样),即用户... 哪位高手给小弟指点一下,在下先行谢过了。谢谢谢谢谢谢谢谢谢谢谢谢谢谢您了!!!
我现在实现一个功能,使用ASP代码实现IIS建立虚拟目录和相关物理目录都搞定,还有个问题怎么设置HTML主机头...
应该如何实现呢,有哪位高手弄过,指点一下,我使用下面代码实现建立虚拟目录的。 这段代码需要你在IIS里面建立一个有ADMINISTRATOR管理员权限目录才可以运行哦. 详细操作步骤:放置这短代码的IIS虚拟目录上右键 属性...
创建本地用户和设置NTFS文件夹权限
初写随笔,如有不对请高手指点 主要用于和IIS7结合实现域名注册,代替手工注册,可以google“helm4”,国外做的比较好的项目! 方法一 调用命令行实现创建本地用户和指定权限 1.创建本地用户 语法: ...
用SQL语句从AD中读取用户相关属性
从AD中读取用户的相关属性 代码: EXEC sp_addlinkedserver 'ADSI', 'Active Directory Services 2.5', 'ADSDSOObject', 'adsdatasource' EXEC sp_configure 'show advanced options', 1 ... 本人菜,请高手指点下。
vbs常用脚本收集
在网上查找资料的时候发现好多经典的vbs代码,收集起来也为了以后学习。有多部分。 VBS脚本用途很多: 1. 计算 2. 处理文件和文件夹 3. 管理Windows 4. 处理Word, Excel, PowerPoint等Office文档 5. 嵌入网页...
请问如何创建IIS的虚拟目录啊?
请问如何创建IIS的虚拟目录啊? 我知道用ASP代码如何创建。 不过只使用于NT4.0(安装ADSI)和Win2k的机器: '创建物理目录 Set FS = Server.CreateObject( "Scripting.FileSystemObject" ) 'FS.... 请高手指点
UI和其他
小问题,关于树控件,选中的问题?就是怎么得到当前选中项怎样在标题栏上添加自己的button或其他控件请问显示桌面按钮触发的Windows消息是什么?哪位有像Windows2000任务管理器中性能的那个曲线图的源代码。控件中如何...
我想在网站上添加用户申请电子邮箱的功能(就象新浪、263一样),怎么办?
我的服务器为NT4.0和IIS 4.0,Mail服务器为Exchange5.5。 我想在网站上添加用户申请电子邮箱的功能(就象新浪、263一样),即用户... 哪位高手给小弟指点一下,在下先行谢过了。谢谢谢谢谢谢谢谢谢谢谢谢谢谢您了!!!
LDAP学习资料整理
LDAP中的objectClass与Attribute 初学LDAP时容易弄错的问题就是objectClass和Attribute之间的关系的,当时找过许多的中文资料都没有得到答案。最近终于彻底弄明白了这个问题,于是决定做个笔记。...
bcb和vc到底有什么区别???!!!(散分!)
我不知道别的,只知道调用api,vc和bc同样的方便。 写atl,vc6比cb5差远了(如果我改一下接口,n个文件在vc中需要修改)。 当然,我做adsi和wmi,这两种东西,我使用的bcb3.0没有... 希望高手指点一二!!! 散分!
c#图片文字-字母-数字自动识别-深入代码-非常好
c#图片文字-字母-数字自动识别-深入代码-非常好
Java初级从入门到精通
课程分为:J2SE 基础阶段,中级阶段,阶段; 课间会讲解一些小程序的开发:如:猜拳游戏,模拟银行柜员机程序,退休金结算程序等.
rtl8188eu_USB_linux.tar.gz
TP-LINK TL-WN725N V2 Linux 驱动安装
Control-flow Enforcement Technology Preview 2.0 spec
Intel CFI技术手册。 Intel CFI从CPU层次检测和防止ROP/JOP攻击,主要包含shadow stack和endbranch两项技术。 比软件层面的防御方法,如微软的CFG,更有效。目前Intel最新编译器已经支持此技术
发帖
IIS
创建于2007-09-28

8233

社区成员

Web 开发 IIS
申请成为版主
帖子事件
创建了帖子
2005-08-21 12:06
社区公告
暂无公告