Windows 10 un en büyük handikapı her 6 ayda bir sürümünün yenilenmesidir. Microsoftta her kimki bu planı yaptıysa ya acemidir yada kasten Microsofta zarar vermek için böylesi bir gelişim sürecine onay
Bukadar çok windows 10 sürümünde birçok farklı özellik mevcut birinde olan diğerinde yok , bu durum kodlayıcılarında işini zorlaştırıyor registry kayıtları da değişikliğe uğradığından bir script yazmaya kaltığınızda sürüme göre farklı bir işlem yaptırmak zorunda kalabiliyorsunuz bu sebepledirki script yazarken işinize yarayacağını düşündüğüm bu başlığı açmaya karar verdim.
Vbs ile Registry den Windows 10 sürüm numarasını okutmak
Önceki konularımızda bir registry değerinin nasıl okutulacağı konusunda bilgiler vermiştik , merak edenler başlığın sonundaki linklerden faydalanabilirler. Amacımız eğer sürüm numarası 1809 değilse işlem yaptırmamak , bunun için öncelikle sürüm numarasını almamız gerekir (Aşağıdaki kodlama)
Dim windowsShell Dim regValue Set windowsShell = CreateObject("WScript.Shell") regValue = windowsShell.RegRead("HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ReleaseId") Wscript.echo regValue
Üstteki kodları çalıştırdığımızda bize aşağıdaki gibi bir çıktı verecektir
Yaptığımız işlem RegRead ile Registrydeki "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ReleaseId" değerini okutmak. Sürüm numarasını aldırttığımıza göre sırada bu sürüm numarasından farklı bir numara olursa farklı bir işlem yaptırtmak var bunun için if - else veya case kullanılabilir. Yaptırmaya çalıştığımız işlem şu : Registryden sürüm numarasını bulsun ve bize bu sürümün çıkış tarihini versin , kodlar aşağıda
Dim WshShell Set WshShell = WScript.CreateObject("WScript.Shell") Select Case WshShell.RegRead("HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ReleaseId") Case "1809" Msgbox "02.10.2018" Case "1803" Msgbox "30.04.2018" Case "1709" Msgbox "17.10.2017" Case "1703" Msgbox "05.04.2017" Case "1607" Msgbox "02.08.2016" Case "1511" Msgbox "10.11.2015" Case "1507" Msgbox "29.07.2015" Case Else Msgbox "Böyle bir sürüm bilinmiyor" End Select Set WshShell = Nothing
Üstteki script çalıştırıldığında aşağıdaki gibi bir pencere açılacaktır.
Elbette siz eğer sürüm numarası mesela 1809 değilse bir uyarı da çıkartabilirsiniz . Böylece 1809 dışında scriptin çalışmasını kısıtlayıp olası hataların önüne geçmiş olursunuz. Üstteki scriptlerin vbs hallerini sayfa sonundan indirebilirsiniz.
- .vbs ile Windows version numarasını bulalım Burada
- Windows versionunu bulmada diğer yöntemler Burada
- İşletim sistemi bilgilerini vbs ile çekmek Burada
- .vbs ile Bir registry değerini okutalım Burada
- Vbs ile donanım ve sistem özelliklerini bulun Burada
Dim WshShell
Set WshShell = WScript.CreateObject("WScript.Shell")
Select Case WshShell.RegRead("HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\DisplayVersion")
Case "21H2"
Msgbox "5 Ekim 2021"
Case "22H2"
Msgbox "20 Eylül 2022"
Case "23H2"
Msgbox "31 Ekim 2023"
Case "24H2"
Msgbox "02.06.2024"
Case "25H2"
Msgbox "02.06.2025"
Case "26H2"
Msgbox "02.06.2026"
Case "27H2"
Msgbox "02.06.2027"
Case Else
Msgbox "Böyle bir sürüm bilinmiyor"
End Select
Set WshShell = Nothing
Sadece windows 10 da deneyin , windows 7 de hata verecektir.
Teşekkürler faydalı bir konu olmuş scriptin hazır hali ni sunduğunuz için ayrıca teşekkür ederim