3

デプロイを管理するための psake スクリプトがあります。プロセスは次のとおりです。

  1. テストのコンパイルと実行
  2. msbuild を使用して展開パッケージを生成する
  3. 内部または外部に展開しているかどうかを確認する
  4. 内部の場合は、生成された cmd ファイルを実行します
  5. 外部の場合、ユーザー名とパスワードの入力を求め、ユーザー名とパスワードをパラメーターとして生成された cmd ファイルを実行します。

外部に展開するときに、次の方法で msdeploy を実行しています。

exec { & $deploy_cmd /Y /M:$msdeploy_url /U:$user /P:$pwd /A:NTLM }

パスワードにアンパサンド (&) が含まれている場合、cmd ファイルは、パラメーターを変数に割り当てるときに & の前にパスワードの部分を割り当て、後でその部分を実行しようとすると想定しています。これはbatファイルの動作です(&はコマンドを区切るために使用されます)。

パスワードのプロンプトでキャレット (^) を使用してパスワードをエスケープしようとしましたが、うまくいきませんでした。

パスワードを変更する以外に、他に代替手段はありますか?

4

1 に答える 1