我用IIS WMI提供程序来自动生成IIS站点,我用以下代码(从参考文档中拷贝),运行后老是:HTTP 500 - 内部服务器错误
<
%
' 建立与 WMI、MyMachine 上的 IIS 名称空间以及 Web 服务的连接。
dim locatorObj,providerObj,serviceObj,Bindings
set locatorObj = CreateObject ( " WbemScripting.SWbemLocator " )
' set providerObj = locatorObj.ConnectServer("MyMachine", "root/MicrosoftIISv2")
set providerObj = locatorObj.ConnectServer( " sene-n2s3xdpkwv " , " root/MicrosoftIISv2 " , " sene-n2s3xdpkwvadministrator " , " 123456 " )
' set serviceObj = providerObj.Get("IIsWebService='W3SVC'")
set serviceObj = providerObj.Get( " IIsWebVirtualDir='W3SVC/1/Root' " )
' 建立绑定对象,这是 CreateNewSite 方法必需的参数。
' 由于我们正在创建某个对象的新实例,请使用 SpawnInstance WMI 方法。
Bindings = Array ( 0 )
Set Bindings( 0 ) = providerObj.get( " ServerBinding " ).SpawnInstance_()
Bindings( 0 ).IP = " 192.168.2.2 "
Bindings( 0 ).Port = " 8383 "
Bindings( 0 ).Hostname = " www.sene.cn "
' 使用 IIsWebService 对象的 CreateNewSite 方法创建新网站。
Dim strSiteObjPath
strSiteObjPath = serviceObj.CreateNewSite( " MyNewSite " , Bindings, " C: rome " )
If Err Then
WScript.Echo " *** Error Creating Site: " & Hex (Err.Number) & " : " & Err.Description & " *** "
WScript.Quit( 1 )
End If
' strSiteObjPath 是以 IIsWebServer='W3SVC/1180970907' 格式表示的
' 要解析出绝对路径 W3SVC/1180970907,请使用 SWbemObjectPath WMI 对象。
Set objPath = CreateObject ( " WbemScripting.SWbemObjectPath " )
objPath.Path = strSiteObjPath
strSitePath = objPath.Keys.Item( "" )
' 在由 CreateNewSite 创建的根虚拟目录上设置某些属性。
Set vdirObj = providerObj.Get( " IIsWebVirtualDirSetting=' " & strSitePath & " /ROOT' " )
vdirObj.AuthFlags = 5 ' AuthNTLM + AuthAnonymous
vdirObj.EnableDefaultDoc = True
vdirObj.DirBrowseFlags = & H4000003E ' date, time, size, extension, longdate
vdirObj.AccessFlags = 513 ' read, script
vdirObj.AppFriendlyName = " Root Application "
' 将新设置保存到配置数据库
vdirObj.Put_()
' CreateNewSite 并没有启动服务器,因此现在要启动它。
Set serverObj = providerObj.Get(strSiteObjPath)
serverObj.Start
WScript.Echo " A New site called MyNewSite was created with the path and unique site identification number of " & strSitePath
% >
' 建立与 WMI、MyMachine 上的 IIS 名称空间以及 Web 服务的连接。
dim locatorObj,providerObj,serviceObj,Bindings
set locatorObj = CreateObject ( " WbemScripting.SWbemLocator " )
' set providerObj = locatorObj.ConnectServer("MyMachine", "root/MicrosoftIISv2")
set providerObj = locatorObj.ConnectServer( " sene-n2s3xdpkwv " , " root/MicrosoftIISv2 " , " sene-n2s3xdpkwvadministrator " , " 123456 " )
' set serviceObj = providerObj.Get("IIsWebService='W3SVC'")
set serviceObj = providerObj.Get( " IIsWebVirtualDir='W3SVC/1/Root' " )
' 建立绑定对象,这是 CreateNewSite 方法必需的参数。
' 由于我们正在创建某个对象的新实例,请使用 SpawnInstance WMI 方法。
Bindings = Array ( 0 )
Set Bindings( 0 ) = providerObj.get( " ServerBinding " ).SpawnInstance_()
Bindings( 0 ).IP = " 192.168.2.2 "
Bindings( 0 ).Port = " 8383 "
Bindings( 0 ).Hostname = " www.sene.cn "
' 使用 IIsWebService 对象的 CreateNewSite 方法创建新网站。
Dim strSiteObjPath
strSiteObjPath = serviceObj.CreateNewSite( " MyNewSite " , Bindings, " C: rome " )
If Err Then
WScript.Echo " *** Error Creating Site: " & Hex (Err.Number) & " : " & Err.Description & " *** "
WScript.Quit( 1 )
End If
' strSiteObjPath 是以 IIsWebServer='W3SVC/1180970907' 格式表示的
' 要解析出绝对路径 W3SVC/1180970907,请使用 SWbemObjectPath WMI 对象。
Set objPath = CreateObject ( " WbemScripting.SWbemObjectPath " )
objPath.Path = strSiteObjPath
strSitePath = objPath.Keys.Item( "" )
' 在由 CreateNewSite 创建的根虚拟目录上设置某些属性。
Set vdirObj = providerObj.Get( " IIsWebVirtualDirSetting=' " & strSitePath & " /ROOT' " )
vdirObj.AuthFlags = 5 ' AuthNTLM + AuthAnonymous
vdirObj.EnableDefaultDoc = True
vdirObj.DirBrowseFlags = & H4000003E ' date, time, size, extension, longdate
vdirObj.AccessFlags = 513 ' read, script
vdirObj.AppFriendlyName = " Root Application "
' 将新设置保存到配置数据库
vdirObj.Put_()
' CreateNewSite 并没有启动服务器,因此现在要启动它。
Set serverObj = providerObj.Get(strSiteObjPath)
serverObj.Start
WScript.Echo " A New site called MyNewSite was created with the path and unique site identification number of " & strSitePath
% >
谁有过此研究么????