【发布时间】:2014-01-05 12:24:08
【问题描述】:
我正在尝试在我的 ColdFusion 脚本中获取当前的 IIS 应用程序名称,但我不知道从何处获取此信息。我想使用应用名称通过运行 appcmd.exe 使用 cfexecute 与 IIS 通信。
<cfexecute name="c:\windows\system32\inetsrv\APPCMD" arguments="add site /name:#arguments.sitename# /bindings:""http/*:80:#arguments.binding#"" /physicalPath:""#arguments.physicalPath#""" timeout="60"></cfexecute>
问题是我无法确定应用名称是什么。我可以将它保存在数据库中的某个位置,但我真的很想动态获取它,以便脚本可以在不配置应用程序名称的情况下运行。如果我能够从某个地方(或者可能基于当前的主机头)获取它,我可以动态填充
/name:#arguments.sitename#
我尝试使用 PHP 和 JSP 示例搜索如何执行此操作,但到目前为止,我还没有找到任何获取应用程序名称的方法。
【问题讨论】:
-
那么您找到了工作的 PHP 和 JSP 示例吗?您能否在问题中包含指向它们的链接?
-
不,很遗憾我没有找到它们。
-
IIS 没有可以与之交谈的 API 吗?
-
但是你可以很容易地从 CF 调用 .net 对象...livedocs.adobe.com/coldfusion/8/htmldocs/…
-
我不确定执行以下操作的安全后果,如果有,但这是一个想法。您没有指出哪个版本您正在使用的 IIS。在更高版本的 IIS 中,所有设置都写入服务器上的 XML 文件。我相信这是从 IIS 7 开始的。理论上,您可以授予 ColdFusion 读取 XML 文件并检索所需信息的权限。但我不太确定我会这样做。这些 XML 文件是 IIS 安装的核心。任何更改都可能对您的服务器有害。
标签: iis coldfusion coldfusion-8