Microsoftun anlamsız şekilde Powershell i kullandırtmaya çalışması nafile bir çaba gibi görünüyor oysa çok daha kaliteli ve bizzat Microsofun işletim sisteminde kullandığı Vbs hem daha hızlı hem daha zahmetsiz
Eğer alt anahtarı olmasaydı aşağıdaki şekilde anahtarı silebilecektik.
Set objShell = Wscript.CreateObject("Wscript.Shell") objShell.RegDelete ("HKEY_CURRENT_USER\AppEvents\Schemes\Sordum\")
Elbetteki kodları önce alt anahtarı sonrada üst anahtarı silecek şekilde hazırlayıp kullanabiliriz peki ya alt alta onlarca alt anahatarı varsa ? bu durumda bu yol hiçte pratik olmayacaktır.Üstteki kodlarla resimdeki Sordum anahtarını tüm alt anahtarları ile birlikte silmeye kalkarsak aşağıdaki hatayı verecektir.
Microsoft bu tür durumlar için aşağıdaki kodu kullanmamızı önermektedir bu uzun kod Sordum anahtarını tüm alt anahtarları ile birlikte silecektir gel gelelim düzenlenmesi bir sonraki vereceğimiz yöntemden daha külfetlidir çünkü her bir Ana dal için kullanıcak kod farklı olabilecektir mesela örneğimizde "HKEY_CURRENT_USER = &H80000001" kullanıldı fakat sileceğimiz anahtar HKEY_CLASSES_ROOT a bağlı bir registry anahtarı olsaydı bu durumda H80000001 kodu farklı olacaktı. Gelelim silme koduna.
On Error Resume Next Const HKEY_CURRENT_USER = &H80000001 strComputer = "." strKeyPath = "AppEvents\Schemes\Sordum" Set objRegistry = GetObject("winmgmts:\\" & _ strComputer & "\root\default:StdRegProv") DeleteSubkeys HKEY_CURRENT_USER, strKeypath Sub DeleteSubkeys(HKEY_CURRENT_USER, strKeyPath) objRegistry.EnumKey HKEY_CURRENT_USER, strKeyPath, arrSubkeys If IsArray(arrSubkeys) Then For Each strSubkey In arrSubkeys DeleteSubkeys HKEY_CURRENT_USER, strKeyPath & "\" & strSubkey Next End If objRegistry.DeleteKey HKEY_CURRENT_USER, strKeyPath End Sub
Eğer Üstteki Kod uzun ve karmaşık geliyor ise Reg.exe yöntemi ile çok daha kısa kod bloğu kullanıp Bir anahtarı ve onun tüm alt anahtarlarını sildiretebiliriz.
Dim objShell Set objShell = WScript.CreateObject( "WScript.Shell" ) objShell.Run """Reg.exe"" delete ""HKCU\AppEvents\Schemes\Sordum"" /f",0 Set objShell = Nothing
KOdları kullanırken Bazı anahtarlara erişim engellendi uyarısı alıyorsanız veya silme işlemini hiç yapmıyorsa scripti yönetici yetkilerinde çalışacak şekilde ayarlayıp deneyebilirsiniz. Bazı registry anahtarları sistem veya Trustedinstaller e ait olduklarından bunları yönetici yetkilerinde çalışan scriptler bile silemeyecektir. Böyle scriptleri Sizler için kodladığımız PowerRun isimli yazılım üzerinden çalıştırarak sonuca ulaşabilirsiniz.Aşağıdaki linkte üstteki kodların script hallerini bulabilirsiniz.
- Vbs de buton görevini yerine getirmiyor Burada
- Vbs de veriyi registry değeri ile karşılaştırma Burada
- Sağ tuş ile klasör ve dosyalara erişimi engelleme Burada
- Sağ tuşa program eklemeyi otomatikleştirmek Burada
- Tek satırda birden fazla komut çalıştırma Burada
Burada amacımız bambaşka , Bitdefender anahtarlarının hepsini biliyorsan vbs yi kodladıktan sonra PowerRn üzerinden çalıştırıp bu dediğini yapma şansın var. lakin o durumda da trial versionu sıfırlamaz.
bitdefender antivirüs'e ait tüm reg anahtarları sildirebilir miyim? kendi silsede geri anahtar kalıyor yeniden trial versiyon o zaman işe yaramıyor.
Umarım Faydalı olur , selamlar
çok güzel bilgiler paylaşmışsınız. Teşekkür ederim.