在Windows Server 2008(32位)上执行Power Shell脚本(v1.0)时出现异常。
它使用ADSI在删除虚拟目录之前搜索它。
我得到以下异常:
Exception calling "Find" with "2" argument(s): "Exception from HRESULT: 0x80005008"
At line:1 char:29
+ $iisMgr.psbase.children.find <<<< ("MyVirtualDir", $iisMgr.psbase.SchemaClassName)
+ CategoryInfo : NotSpecified: (:) [], MethodInvocationException
+ FullyQualifiedErrorId : DotNetMethodException
这是代码:
$vDirPath = "IIS://localhost/W3SVC/1/Root"
$iisMgr = [adsi]$vDirPath
$iisMgr.psbase.children.find("MyVirtualDir", $iisMgr.psbase.SchemaClassName)
(编辑):从几个博客中我读到必须启用IIS6管理兼容性角色服务才能安装ADSI提供程序,并且已经启用了它,但仍然有此异常...
最佳答案
您是否仅使用一个参数尝试?
$iisMgr.psbase.children.find("MyVirtualDir")
我在那里不知道,但是当我调用带有错误数量参数的方法时,出现了这种COM错误。
J.P
关于exception - 使用ADSI时Powershell脚本返回异常,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5380391/