[Void][Reflection.Assembly]::LoadWithPartialName("Microsoft.Web.Administration")
New-WebApplication -Name 'testApp' -Site 'Default Web Site' -PhysicalPath c:\test -ApplicationPool DefaultAppPool
这是test.ps1的内容。 当我运行时。\ test.ps1我收到以下错误。
New-WebApplication:无法检索的动态参数 小命令。使用CLSID检索组件的COM类工厂 {688EEEE5-6A7E-422F-B2E1-6AF00DC944A6}由于以下原因而失败 错误:80040154。在C:\ code \ work \ users \ mchevett \ test.ps1:6 char:19 + New-WebApplication<<<< -Name'testApp'-Site'默认网站' -PhysicalPath c:\ test -ApplicationPool DefaultAppPo ol + CategoryInfo:InvalidArgument:(:) [New-WebApplication],ParameterBindingException + FullyQualifiedErrorId: GetDynamicParametersException,Microsoft.IIs.PowerShell.Provider.NewWebApplicationCommand
此错误消息对我没有任何帮助。任何想法如何获得更好的错误消息?谢谢你的阅读!
答案 0 :(得分:46)
我遇到了完全相同的问题,因为我从我的程序中调用了错误版本的PowerShell。我不确定这一点,但我认为当你有一个x86程序时,它会调用PowerShell的x86版本,但失败了。
要专门使用 32位版本,请从您的程序中调用此方法:
C:\Windows\SysWoW64\WindowsPowerShell\v1.0\powershell.exe
要使用 64位版本(在64位操作系统上),请从您的程序中调用此版本:
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
在32位进程中使用C:\Windows\SysNative\WindowsPowerShell\v1.0\powershell.exe
将为您提供64位PowerShell。在64位进程中使用它会给你一个文件未找到的错误。
答案 1 :(得分:0)
在项目解决方案构建属性中将平台目标更改为“ x64”对我有用: