使用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 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
关于使用ADSI、ASP和一对魔术戏法自动地创立一个虚拟目录的方法的所有评论