IIS 6.0:WMI等效于“将文件夹转换为应用程序”?

时间:2010-03-18 19:37:51

标签: iis powershell vbscript iis-6 wmi

基本上,想象一下您需要自动化这些步骤:

  1. 开放互联网信息服务。
  2. 找到该网站,找到该文件夹​​,右键单击该文件夹并选择属性。
  3. 单击“目录”文件夹。
  4. 在“应用程序设置”下,单击“创建”按钮。现在创建了该应用程序。单击“确定”完成。
  5. click for a pictoral walkthru

    我的最终目标是Powershell,但使用JScript或VB.NET的答案或其他任何问题都可以。

    如果相同的代码适用于在6.0兼容模式下运行的IIS7应用程序,则获得奖励积分。

3 个答案:

答案 0 :(得分:2)

我已成功使用此VBScript。 YMMV,但至少它是一个起点。

' set a few constants
const CreateNewApplicationPool = true
const UseExistingApplicationPool = false

' Load the Metabase entry if the target directory does exist
Set IISWebDirObj = GetObject("IIS://" & objServer & "/W3SVC/" & objSiteID & "/Root/" & objApp)

if Err.Number <> 0 then
    Err.Clear
    ' Create the Metabase entry if the target directory does NOT exist
    Set IISWebDirRootObj = GetObject("IIS://" & objServer & "/W3SVC/" & objSiteID & "/Root")
    Set IISWebDirObj = IISWebDirRootObj.Create("IISWebDirectory", objApp)
end if

' Assign an existing app pool to the target directory
' Try AppCreate or Appcreate2 to create the app pool at the same time
'  or try using CreateNewApplicationPool for last parameter
IISWebDirObj.AppCreate3 2, objSvcPool, UseExistingApplicationPool

' set the name so it doesn't show up as: Default Application
IISWebDirObj.AppFriendlyName = objSvcPool
IISWebDirObj.SetInfo

' refresh the object in memory so we can change the app pool
IISWebDirObj.GetInfo  
IISWebDirObj.AppPoolId = objSvcPool
IISWebDirObj.SetInfo

答案 1 :(得分:0)

检查IIS6 Automation

已编辑添加

根据要求:here

答案 2 :(得分:0)

这不是您正在寻找的 - 他们实际创建了一个虚拟目录,然后将其作为应用程序。但是这种方法 - 使用来自powershell的ADSI - 应该适用于IIS 6/7,并允许您将现有目录转换为应用程序:

http://arcware.net/creating-iis-applications-with-powershell/

AppCreate2(和SetInfo)调用将虚拟目录转换为应用程序。你也可以在常规目录上调用它。