你好,
我有一个 powershell 部署脚本,它将文件从 svn 下载到一个目录中,然后更新 IIS 设置以将站点指向新文件夹。它一直运行良好,直到对服务器进行了一些更新。现在,当我尝试运行脚本时,它会出错
[Void][Reflection.Assembly]::LoadWithPartialName("Microsoft.Web.Administration")
$serverManager = New-Object Microsoft.Web.Administration.ServerManager
错误是
New-Object : Exception calling ".ctor" with "0" argument(s):
"Retrieving the COM class factory for component with CLSID {B15183DD-75F9-42DF-8E57-C8B57692F134} failed due to the following error: 80040154."
At C:\Users\administrator.LAYERXNETWORKS\AppData\Local\Temp\2\e72ec49f-353f-4dc0-877c-ef67f6b49bab.ps1:2 char:28
+ $serverManager = New-Object <<<< Microsoft.Web.Administration.ServerManager
+ CategoryInfo : InvalidOperation: (:) [New-Object], MethodInvocationException
+ FullyQualifiedErrorId : ConstructorInvokedThrowException,Microsoft.PowerShell.Commands.NewObjectCommand
我读过这个错误通常是由未安装类引起的。
服务器运行的是带有 IIS 7.5 的 Windows 2008 R2
最佳答案
确保您加载了正确的 PowerShell 逐位版本。如果您运行的是 64 位版本,那么您将得到描述的异常。
您需要使用 32 位 (Windows PowerShell (x86)) 版本的 PowerShell 才能使用 Microsoft.Web.Administration
.
关于iis - Powershell - 在 Windows 更新后创建 ServerManager 对象时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5508836/