在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/

10-11 02:28