2013-02-26 18 views
7

Ben msdeploy yüklü olup olmadığını kontrol etmek için bir PowerShell komut dosyası gibi bir şey arıyorum ve öyleyse, hangi sürümünüŞu anda hangi webdeploy/msdeploy sürümü yüklü? ,: " Program Files IIS c" ve orada MSDeploy kurulumları kontrol

ben kontrol kabul ettik ama bu her zaman kurulum yeri olarak garanti ediliyor mu?

Ben

+0

'msdeploy | "Sürüm" bul –

+0

@JoachimIsaksson bu yalnızca PATH değişkenlerinde ayarlanmışsa çalışır. – EdmundYeung99

cevap

8

msdeploy yüklendiğinde (nerede olursa olsun dosya sisteminde), yükleme yolunu kayıt defterine ekleyecektir; ve sürüm bilgileri; <version> yüklediğiniz WebDeploy sürümüne bağlı anda 1, 2 veya 3'tür

HKLM\Software\Microsoft\IIS Extensions\MSDeploy\<version>\Version 

.... Eğer komut dosyası bloğunda içine sarın, o zaman uzak oturumda diyebilirsiniz

$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; 
     } 
    } 
} 

:

+2

'InstallPath 've' Version' alt anahtarları değil,' 'anahtarındaki değerlerdir. (Bu programa bakarsanız önemlidir.) – jpmc26

4

siz "versiyonunu" düşündükleri bağlıdır herhangi bir sunucu makinesinde çalışmak için bu gereklidir. "C: \ Program Files \ IIS \ Microsoft Web Deploy V3" klasör adıyla, sürüm 3'tür, ancak msdeploy.exe dosyasını çalıştırırsanız, sürüm 7.X

0

Aşağıdaki PowerShell pasajı kullanabilirsiniz.

İlgili konular