快速业务通道

使用ADSI、ASP和一对魔术戏法自动地创立一个虚拟目录的方法

作者 佚名 来源 ASP编程 浏览 发布时间 2013-07-09
我们认为我们可以为这个功能写一个VisualBasic封装并把它卷入一个定制组件(下个月的文章主题),但是一定有一个更快的方法。

我们在IanMorris整理的WindowsScriptingHostFAQ(http://wsh.glazier.co.nz/frame.htm)继续我们的搜索,发现了从WindowsScriptingHost?调用DOS命令的几行代码。

我们试图使用WindowsScriptinghost从ASP文件调用CACLS.exe,我们的网页不能执行。应用失败了。为什么会这样?我们从DOS命令提示单步调试这个命令发现CACLS.EXE命令在等待我们使用Y作为Yes来确认操作。一定有一种方法使Yes作为缺省值。

检查命令行选项没有发现任何隐藏开关。就这一点,打开浏览器,访问在线支持发现CACLS.EXE好象应该小心应用。

我们兴奋的发抖,发现了文章Q135268:HowtoUseCACLS.EXEinaBatchFile(http://support.microsoft.com/support/kb/articles/q135/2/68.asp)。啊哈,好的老DOS重定向。使用通道传输一个Y给CACLS.exe代表Yes。

下面是我们用来建立命令串和从ASP文件调用WindowsScriptingHostshell的代码。

''SetChangePermissionsforthedeveloperusingCACLS.exe
strACLCommand="cmd/cechoy|CACLS"
strACLCommand=strACLCommand&strVirtualDirectoryPath
strACLCommand=strACLCommand&"/g"&strOwner&":C"

SetobjWSH=Server.CreateObject("WScript.Shell")
objRTC=objWSH.Run(strACLCommand,0,True)

SetobjWSH=Nothing

这可能不是可伸缩性最好的解决方案。一个定制组件可以在大型的应用程序上更好的帮助你。如果你需要一个,Artisans软件有一个免费组件(http://www.softartisans.com/softartisans/safilemanager.html)允许你通过他的对象模型改变文件夹上的权限。(它也有一些其他很酷的特性,例如以点式输入/输出图像,操作.ini文件和更多。)

我们最终的代码证实我们所做的一切是值得的。

Response.Write("<B>WebApplicationCreatedSucessfully</B><BR>")
Response.Write("Path:"&strVirtualDirectoryPath&"<BR>")
Response.Write("ScriptPermissions:"&bolScriptPermissions&"<BR>")
Response.Write(strOwner&"hasbeengrantedchangepermissions<BR>")
%>
</BODY>
</HTML>

那就是它。当寻找问题的解答时最重要的使记住使用多种资源。列表服务器,FAQs和微软知识库就包含了这一类的文章。

现在是新闻由于我们在每一期ASP专栏中收到的热烈的反响,我们将把我们的栏目专门用于这种技术。可以预见的变化是,我们将介绍著名的JeffSandquist。那么有什么让人伤感的呢?TomMoran将离开Servin''ItUp--但是如果你将来在其他地方看到他时不要感到太惊奇。

JeffSandquist(微软最好的法裔加拿大人之一)是开发者支持的ActiveServerPages扩大组成员之一,也是VisualInterDevMVP程序(http://support.microsoft.com/support/supportnet/supportpartners/mvps/brochuregeneral.asp)的主要负责人。

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号