我正在尝试使用 powershell 在 Web 服务器上远程设置网站。我尝试配置的 Web 服务器是 Windows Server 2008 R2 SP1,默认情况下它具有 powershell v2。
为了让事情变得更简单,我使用了管理单元“WebAdministration”。
每当我尝试调用以下命令时:
PS C:\p4\eacp4wireframe\ReleaseEngineering\DL_Powershell\Infrastructure\PowerShell\IIS> Invoke-Command -ComputerName web4 -Credential $admin -ScriptBlock {add-pssnapin WebAdministration; Get-Website}
No snap-ins have been registered for Windows PowerShell version 2.
+ CategoryInfo : InvalidArgument: (WebAdministration:String) [Add-PSSnapin], PSArgumentException
+ FullyQualifiedErrorId : AddPSSnapInRead,Microsoft.PowerShell.Commands.AddPSSnapinCommand
我收到可怕的“没有为 Windows PowerShell 版本 2 注册管理单元”错误。
从逻辑上讲,我通过运行以下命令来检查 powershell 的版本:
PS C:\ Invoke-Command -ComputerName web4 -Credential $admin -ScriptBlock {(Get-Host).version}
Major Minor Build Revision PSComputerName
----- ----- ----- -------- --------------
1 0 0 0 web4
我可以远程登录到 Web 服务器并正常运行 Powershell 命令。
有任何想法吗?