Windows Server 2016:使用 Restore-WebConfiguration

Windows Server 2016:使用 Restore-WebConfiguration

我尝试在 Windows Server 2016 上使用 powershell cmdlet Restore-WebConfiguration,但出现此错误:

PS > Restore-WebConfiguration name
get-webconfiguration : Retrieving the COM class factory for component with CLSID
{688EEEE5-6A7E-422F-B2E1-6AF00DC944A6} failed due to the following error: 80040154 Class not registered (Exception
from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)).
At line:1 char:1
+ get-webconfiguration /system.applicationHost/configHistory
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Get-WebConfiguration], COMException
    + FullyQualifiedErrorId : System.Runtime.InteropServices.COMException,Microsoft.IIs.PowerShell.Provider.GetConfigurationCommand

我认为我一定是在“添加角色和功能”向导中遗漏了某些内容。或者也许需要执行其他操作才能使 cmdlet 正常工作。Cmdlet 名称显然已找到,但我没想到会出现此错误,我以为它会正常工作或未找到,而不是像这样损坏。

IIS 管理脚本和工具已安装。

答案1

这些 cmdlet 仅作为 64 位 .net 程序集提供。启动 64 位 powershell 并重试。

在必须运行这些脚本的顶部添加如下内容:

if ([IntPtr]::Size -eq 4 ) {
  Write-Host "This script must be run from a 64 bit powershell."
  Exit
}

相关内容