Powershell
Powershell ile Registry Kaydı Ekleme Çıkarma ve Değiştirme
Powershell ile registry kayıtları üzerinde işlem yapmak için Psprovider teknolojisi üzerinden değişiklikler yapabiliyoruz. Aşağıda kendi gereksinimlerim için çıkardığım ve bolca yorum satırı yazdığım scripti kendinize göre düzenleyip kullanabilirsiniz.
Daha önce basit bir şekilde Powershell ile Registry Kaydı Ekleme işlemini anlatmıştım eğer bu konularda yeniyseniz bu makaleyi de okumanızı öneririm.
Aşağıda ise daha geniş kapsamlı bir şekilde Powershell ile Regedit kayıtları üzerinde kayıt ekleme, silme ve değiştirme işlemlerinin nasıl yapılacağını scriptledim.
Powershell ile Registry Kaydı Ekleme Çıkarma ve Değiştirme
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 |
#WİNDOWS REGİSTRY İŞLEMLERİ# #Değişkenlerimizi tanımlayalım $RegistryPath = 'HKLM:\SOFTWARE\Test\' $name = 'Ali' $name2 = 'Veli' $value = '42' ### 1 Registy Kaydı Ekleme ### <# #Registry kaydı eklemek için önce kaydı yaratmamız sonrasında değerlerini girmemiz gerekir kayıt yoksa değer giremeyeceği için hata alırız #Eğer registry üzerinde klasör kaydı yok ise if (-not(Test-Path $RegistryPath)) { New-Item -Path $RegistryPath } New-ItemProperty -Path $RegistryPath -Name $name -Value $value -PropertyType DWORD -Force #> ### 2 Registy Kaydı Değiştirme ### <# $newpath = 'HKLM:\SOFTWARE\Test2\' $newname = 'Osman' $newvalue= '77' if ((Test-Path $RegistryPath)) { #a - Mevcutları silip yeniden oluşturacağız. #Test altındaki mevcut kayıtları silelim Remove-ItemProperty -Path $RegistryPath -Name $name,$name2 #Yeni kayıt oluşturalım New-ItemProperty -Path $RegistryPath -Name $newname -Value $newvalue -PropertyType DWORD -Force } #b- Mevcutları silmeden var olan kaydın value'sunu değiştirmek için New-ItemProperty -Path $RegistryPath -Name $newname -Value $newvalue -PropertyType DWORD -Force #> ### 3 Registy Kaydını Silme ### #a - Komple Registrypath'i siler Remove-Item -Path $RegistryPath #Dikkatli olunmalı iyi kontrol ediniz #b - Yalnızca Registrypath altındaki kaydı siler. Remove-ItemProperty -Path $RegistryPath -Name $name,$name2 ##### Bu işlemleri çoklu bilgisayarlarda Yapma #### # Çoklu bilgisayarda bu kayıtların girilmesini sağlamak için bir serverlist create edelim. C:\Test altında ComputerList.txt Invoke-Command -ScriptBlock { $RegistryPath = 'HKLM:\SOFTWARE\Test\' $name = 'Ali' $name2 = 'Veli' $value = '42' if (-not(Test-Path $RegistryPath)) { New-Item -Path $RegistryPath } New-ItemProperty -Path $RegistryPath -Name $name -Value $value -PropertyType DWORD -Force #Eğer gerekirse 2. değer New-ItemProperty -Path $RegistryPath -Name $name2 -Value $value -PropertyType DWORD -Force #> } -ComputerName (Get-Content C:\test\ComputerList.txt) |