msdeployがインストールされているかどうかを確認するPowershellスクリプトなどを探しています現在インストールされているwebdeploy/msdeployのバージョンを調べるにはどうすればよいですか?
"c:\ Program Files \ IIS"をチェックしてそこにMSDeployがインストールされているかどうかを確認しました。これはいつもインストール場所であることが保証されていますか?私は、任意のサーバマシン
msdeployがインストールされているかどうかを確認するPowershellスクリプトなどを探しています現在インストールされているwebdeploy/msdeployのバージョンを調べるにはどうすればよいですか?
"c:\ Program Files \ IIS"をチェックしてそこにMSDeployがインストールされているかどうかを確認しました。これはいつもインストール場所であることが保証されていますか?私は、任意のサーバマシン
msdeploy
がインストールされている場合ファイルシステムでは、インストールパスをレジストリに追加します。
HKLM\Software\Microsoft\IIS Extensions\MSDeploy\<version>\InstallPath
とそのバージョン情報。 <version>
がインストールされているWebDeployのバージョンに応じて、現在1、2または3である
HKLM\Software\Microsoft\IIS Extensions\MSDeploy\<version>\Version
...。
$installPath = $env:msdeployinstallpath
if(!$installPath){
$keysToCheck = @('hklm:\SOFTWARE\Microsoft\IIS Extensions\MSDeploy\3','hklm:\SOFTWARE\Microsoft\IIS Extensions\MSDeploy\2','hklm:\SOFTWARE\Microsoft\IIS Extensions\MSDeploy\1')
foreach($keyToCheck in $keysToCheck) {
if(Test-Path $keyToCheck){
$installPath = (Get-itemproperty $keyToCheck -Name InstallPath -ErrorAction SilentlyContinue | select -ExpandProperty InstallPath -ErrorAction SilentlyContinue)
}
if($installPath) {
break;
}
}
}
あなたがスクリプトブロックにそれをラップする場合は、リモートセッションでそれを呼び出すことができます。
'InstallPath'と' Version'はサブキーではなく、 '
上で動作するようにこれを必要と
は、あなたが「バージョン」と考えるものに依存します。フォルダ名が "c:¥Program Files¥IIS¥Microsoft Web Deploy V3"の場合、バージョンは3ですが、msdeploy.exeを実行すると、バージョンは7.X
次のPowerShellはスニペットを使用することができます。
'msdeploy | "バージョン"を見つける? –
@ JoachimIsakssonこれはPATH変数に設定されている場合にのみ有効です – EdmundYeung99