PowerShellを使用してWebサーバー上にWebサイトをリモートでセットアップしようとしています。構成しようとしているWebサーバーは、デフォルトでPowerShellv2がインストールされているWindowsServer 2008R2SP1です。
簡単にするために、Snapinの「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
「WindowsPowerShellバージョン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コマンドを正常に実行できます。
何か案は?