3

コード展開エージェントをインストールした状態でWindows Server 2012 R2を実行するEC2インスタンスにAWS Codedeployを使用して展開するアプリケーションがあります。AWS CodeDeploy PowershellスクリプトでIISサーバーにWebサイトとプールを作成できません

コードリビジョンはS3バケットからEC2インスタンスにダウンロードされましたが、PowerShellスクリプトはエラーをスローします。

だけでEC2インスタンスにスクリプトを実行すると、手動で、正常に動作しているとき、通知します。 &前-install.batを

  • appspec.yml

    version: 0.0 os: windows files: - source: \index.html destination: C:\DemoApp\MySite hooks: BeforeInstall: - location: \before-install.bat timeout: 900

  • 前-install.batを
  • ここ

    は私appspec.ymlですC:\Windows\system32\WindowsPowerShell\v1.0\powershell.exe -Command "& {Import-Module WebAdministration; New-Item iis:\Sites\MySite -bindings @{protocol=\"http\";bindingInformation=\":80:\"} -physicalPath c:\DemoApp\MySite; New-Item IIS:\AppPools\MyPool; Set-ItemProperty IIS:\Sites\MySite -name applicationPool -value MyPool;}"

codedeploy薬 - deployments.log

スクリプト - \前-install.batを C:\ WINDOWS \ SYSTEM32> C:\ WINDOWS \ SYSTEM32 \ WindowsPowerShell \ v1.0を\ powershell.exe -Command "& {Set-ExecutionPolicy Unrestricted;インポートモジュールWeb管理;新しいアイテムiis:\ Sites \ MySite -bindings @ {protocol = \ "http \"; bindingInformation = \ ":80:\"} -physicalPath c:\ DemoApp \ MySite;新規アイテムIIS:\ AppPools \ MyPool; 新しい項目:コマンドレットの動的パラメータを取得できません。 CLSIDを持つコンポーネントのCOMクラスファクトリを取得する {688EEEE5-6A7E-422F- B2E1-6AF00DC944A6}は次のエラーのため失敗しました: 80040154クラス登録されていない(HRESULTからの例外:0x80040154 (REGDB_E_CLASSNOTREG))ラインで :1つの文字:71 + & {セットExecutionPolicy無制限と、インポートモジュールWebAdministrationを、。 新項目の... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~ +カテゴリ情報:無効な情報:(:) [New-Item]、ParameterBind gException + FullyQualifiedErrorIdで:GetDynamicParametersException、Microsoft.PowerShe ll.Commands.NewItemCommand

答えて

3

は、このスクリプトを試してみてください。

( "SYSWOW64" 様$のPSHome)場合 { 書き込み警告「の再起動64ビットのWindows PowerShellの下にこのスクリプトを実行します。」

&(入会・パス($のPSHome -replace "SYSWOW64"、 "SysNative")たpowershell.exe) (参加-パス$ PSScriptRoot $ MyInvocatio ` - ファイルn。MyCommand)

終了の$ LastExitCode }

インポートモジュールWebAdministrationを@args。 新規アイテムIIS:\ AppPools \ MyPool;新しいアイテムiis:\ Sites \ MySite -bindings @ {protocol = 'http'; bindingInformation = ':80:'} -physicalPath c:\ DemoApp \ MySite; Set-ItemProperty IIS:\ Sites \ MySite -name applicationPool - 値MyPool

参照:http://docs.aws.amazon.com/codedeploy/latest/userguide/troubleshooting-deployments.htmlを参照してください。

+0

ありがとうございました。 私にとってはうまくいっています。 –

関連する問題