iis - Powershell - 在 Windows 更新后创建 ServerManager 对象时出错

标签 iis powershell windows-server-2008-r2

你好,

我有一个 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/

相关文章:

jquery - 使用 jQuery 读取 CSV 文件

c# - 使用 C#/Powershell 设置 Active Directory "Security Identity Mapping"/"Name Mapping"

.net - Windows 2008 Enterprise Server 中的 svctraceviewer exe

c# - Asp.Net Core 2.2 UseUrls 被忽略

asp.net - web.config 文件设置是否会覆盖 IIS 设置?

wcf - IIS 堆栈溢出

class - 如何从 Powershell 类中正确调用使用 Add-Type 添加的类型的静态方法?

sql-server - Powershell Invoke-Sqlcmd 登录失败

Python file.write 随着输出文件变大而变慢

powershell - 为 Windows 7 开发的 PowerShell 脚本能否在 Win Server 2008 R2 上运行?