I know one thing That I know nothing

Powershell ve Cmd ile USB Aygıtın Disable/Enable edilmesi

Bazı gereklilik durumlarında donanımların otomatik olarak enable/disable edilme ihtiyaçları oluşabiliyor. Örneğin sisteminize bağlı bir USB depolama cihazının sadece kopyalama yada backup zamanlarında aktif olması bu işlemler tamamlandıktan sonra tekrar otomatik olarak disable duruma geçmesi ihtiyacı olabilir.

Bu gibi durumlar için aşağıdaki adımları takip ederek işlemlerimizi gerçekleştirebilir veya PS dosyası haline getirerek Task Schedule ile otomatikleştirebiliriz.

Öncelikle aşağıdaki technet linki üzerinden gerekli modülü indiriyoruz.

https://gallery.technet.microsoft.com/Device-Management-7fad2388/file/65051/2/DeviceManagement.zip

İndirdiğimiz zip dosyasını açıyoruz, PS ekranında modül klasörüne geçiyoruz.

Örnek olarak;

cd D:\orcl\Downloads\DeviceManagement\Release

Modülü aşağıdaki şekilde import ediyoruz;

Import-Module .\DeviceManagement.psd1 -Verbose

Modül import edildikten sonra işlem yapmak istediğimiz cihazın sistem tarafındaki ismini aşağıdaki şekillerde bulabiliriz..

“Get-Device” ile ekrana yada

“Get-Device > c:\device_list.txt” ile txt dosyasına tüm cihazların listesini çıkararak içerisinden bulabilirsiniz.

Ben TDK USB cihazım ile işlem yapacağım için aramayı daraltmak anlamında aşağıdaki şekilde içinde *TDK* geçen cihazların getirilmesini istiyorum.

PS D:\orcl\Downloads\DeviceManagement\Release> Get-Device | where {$_.name -like “*tdk*”}

İşlem yapmak istediğimiz cihazımızı bulduktan sonra aşağıdaki komutlar ile enable ve disable edebiliyoruz.

Aygıtı Disable etmek için;

PS D:\orcl\Downloads\DeviceManagement\Release> Get-Device | where {$_.name -like “*TDK*”} | Disable-Device

Aygıtı Enable etmek için;

PS D:\orcl\Downloads\DeviceManagement\Release>Get-Device | where {$_.name -like “*TDK*”} | Enable-Device

Modül detaylarına aşağıdaki linkten ulaşabilirsiniz;

https://gallery.technet.microsoft.com/Device-Management-7fad2388

Module için bazı gereklilikler mevcut olduğundan, cmd üzerinden aynı işlemleri yapabileceğimiz devcon.exe uygulamasından da bahsetmek istiyorum.

Exe’ yi temin edebilmek için en kısa yöntem ile aşağıdaki linkler üzerinden ilgili cab dosyalarını indiriyoruz.

X64 : https://download.microsoft.com/download/B/5/8/B58D625D-17D6-47A8-B3D3-668670B6D1EB/wdk/Installers/787bee96dbd26371076b37b13c405890.cab

X86 : https://download.microsoft.com/download/B/5/8/B58D625D-17D6-47A8-B3D3-668670B6D1EB/wdk/Installers/82c1721cd310c73968861674ffc209c9.cab

64 bit exe için X64 Cab içerisindeki “Filbad6e2cce5ebc45a401e19c613d0a28f” dosyanın ismi “Devcon.exe” olarak değiştiriyoruz.

32 bit exe için X86 Cab içerisindeki “Fil5a9177f816435063f779ebbbd2c1a1d2” dosyanın ismi “Devcon.exe” olarak değiştirilir.

Sistem üzerindeki Device ları görmek için

Devcon hwids * > c:\device_list.txt

Yada isim olarak biliyorsak Devcon hwids *san* şeklinde search edilebilir.

Aygıtı Disable etmek için;

devcon.exe /r disable USBSTOR\DISK&VEN_SANDISK&PROD_CRUZER_SWITCH&REV_1.27\4C530007371215111110&0

“Bazı durumlarda Disable için sistemin Restart olması gerekmektedir”

Aygıtı Enable etmek için;

devcon.exe enable USBSTOR\DISK&VEN_SANDISK&PROD_CRUZER_SWITCH&REV_1.27\4C530007371215111110&0

Aygıtın çıkartılması için;

devcon.exe remove USBSTOR\DISK&VEN_SANDISK&PROD_CRUZER_SWITCH&REV_1.27\4C530007371215111110&0

Sistem tarafında çıkartılan aygıtın tekrar bulunması için;

devcon.exe rescan