Forum
Windows 10 Masaüstü sürümlerinde python'nun kurulu olup olmadığını kontrol etmek ve kurulu değilse kurmak istiyorum. Powershell betiği yazma işi her zaman ihtiyaç duyduğum bir durum olmadığı için dokümantasyon takip edemedim. Aşağıdaki gibi bir kod bloğum var ma istediğim sonuca ulaşamadım. Deneme yaptığım sistemde python kuru olduğu halde kurulu değil diyor. Winrar da kurulu onu kontrol ettiğim kurulu diyor.
$software = "python 3.9.1 (64-bit)"; $installed = (Get-ItemProperty 'HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\*','HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\*' | Where { $_.DisplayName -eq $software }) -ne $null If(-Not $installed) { Write-Host "'$software' NOT is installed."; } else { Write-Host "'$software' is installed." }
Betiğiniz doğru çalışıyor. Reg deki display name'i doğru girmezseniz tam sonucu vermez. Uzaktan çalıştırmada da executionpolicy e dikkat edin.
https://www.codetwo.com/admins-blog/how-to-check-installed-software-version/
burada da güncel betikler var.
'balık vermez, nasıl tutulabildiğine yönlendirir'
****************************************************************
Probleminiz Çözüldüğünde Sonucu Burada Paylaşırsanız. Sizde Aynı Problemi Yaşayanlar İçin Yardım Etmiş Olursunuz. Eğer sorununuz çözüldü ise lütfen "çözüldü" olarak işaretlerseniz diğer üyeler için çok büyük kolaylık sağlayacaktır.
*****************************************************************
@ibrahimyildiz İbrahim Bey,
İlginiz ve cevabınız için teşekkür ederim. Peki program ismin de joker karakter kullanmam mümkün mü acaba? Python'un belli bir sürümü değilde başka sürümlerden birininde kurulmuş olma ihtimalini düşünerek soruyorum. Joker karakter aklıma gelen ilk seçenek diğer bir seçenekde eğer powershell kabul ediyorsa sürümlerin isimlerini içeren bir dizi değişken tanımlayıp döngü içerisinde tek tek kontrol ettirmek ama takdir edersinizki performansı azda olsa etkileyecektir.
Birisi uğraşıp oturup yazarsa olur tabi ki. 🙂 O betikte $software değilde $key olarak aratma denenebilir.
Paylaştığım linktekini uygularsanız ismi net vermenize gerek kalmaz işinizi görür.
'balık vermez, nasıl tutulabildiğine yönlendirir'
****************************************************************
Probleminiz Çözüldüğünde Sonucu Burada Paylaşırsanız. Sizde Aynı Problemi Yaşayanlar İçin Yardım Etmiş Olursunuz. Eğer sorununuz çözüldü ise lütfen "çözüldü" olarak işaretlerseniz diğer üyeler için çok büyük kolaylık sağlayacaktır.
*****************************************************************
@ibrahimyildiz İbrahim Bey,
İlginiz ve cevabınız için teşekkür ederim. Peki program ismin de joker karakter kullanmam mümkün mü acaba? Python'un belli bir sürümü değilde başka sürümlerden birininde kurulmuş olma ihtimalini düşünerek soruyorum. Joker karakter aklıma gelen ilk seçenek diğer bir seçenekde eğer powershell kabul ediyorsa sürümlerin isimlerini içeren bir dizi değişken tanımlayıp döngü içerisinde tek tek kontrol ettirmek ama takdir edersinizki performansı azda olsa etkileyecektir.
$software = "Python*"
$installed = (Get-ItemProperty 'HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\*','HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\*' | Where { $_.DisplayName -like $software }) -ne $null
If(-Not $installed) {
Write-Host " Python NOT is installed.";
} else {
Write-Host " Python is installed."
}
****************************************************************
Probleminiz çözüldüğünde sonucu burada paylaşırsanız,
sizin ile aynı problemi yaşayanlar için yardım etmiş olursunuz.
Eğer sorununuz çözüldü ise "çözüldü" olarak işaretlerseniz
diğer üyeler için çok büyük kolaylık sağlayacaktır.
*****************************************************************