Devcon.exe ile Uzaktan Donanım Sürücüsünün Yüklenmesi

DEVCON İLE UZAKTAN DONANIM SÜRÜCÜSÜ YÜKLEME

Çok uzun bir aradan sonra tekrar merhabalar. Bu makalemizin konusu uzaktan bilgisayara takılan bir donanımın sürücüsünü yükleyebilmek üzerine. Buna neden ihtiyacımız olsun gibi bir düşünceye sahip olmak başta normal olabilir. Ama yazıya konu olan ihtiyacın ortaya çıkmasının ardından oldukça normal ve kullanışlı bir yöntem olduğunu da görmüş olacağız.

Ortaya çıkan ihtiyacı açıklarsak: Yaklaşık 500 kullanıcının olduğu bir etki alanı ortamında kullanıcıların dokümanları e-imza yolu ile imzalamaları ve bunun için gerekli olan kart okuyucunun ve imza yazılımının kullanıcıların bilgisayarlarına kurulması olarak açıklayabiliriz. 500 kullanıcıyı tek tek gezip yüklemeleri yapmanın gerektirdiği zaman ve personel sayısı yüksek olacaktır.

Burada karşımıza Microsoft’ un harika araçlarından bir tanesi olan devcon.exe çıkıyor. Bu araç görsel olarak işlem yaptığımız Device Manager konsolunun komut satırında ki karşılığıdır. Açılımı da Device Console dur. Normal kurulumda bu komut satırı aracı hazır gelmez. Bunun için Microsoft ‘un yayınladığı Windows Server 2003 Support Pack SP1 i http://support.microsoft.com/kb/892777 adresinden diğer faydalı araçlar ile birlikte indirebilir, Windows Server 2003 SP1 cd sinde Support\Tools altında yer alan dosyadan kurabilir ya da http://support.microsoft.com/kb/311272 adresinden sadece bu aracı çekebiliriz.

Konuyu iki bölüme ayırarak nasıl yapıldığını anlatmak istedim. İlk bölümde sunucu tarafında yapacaklarımız diğer bölümde ise kullanıcının bilgisayarında yapılacaklar olacak.

BÖLÜM 1 – Sunucu Tarafında Yapılacaklar

Yukarıda ki adreste belirttiğim Support Pack i sunucumuza yükledikten sonra Program Files klasörümüzün altında Support Tools adında bir klasöre tüm araçların atılmış olduğunu görürüz. Burada devcon.exe dosyasını \Windows\System32 klasörünün altına atarak komut satırında yoldan bağımsız çalışmasını sağlayabiliriz.

Yapacağımız sürücü yükleme işleminin sorunsuz tamamlanabilmesi için kullanıcıların o sistem üzerinde donanım yükleyip kaldırabilmeleri için yetkilerinin olduğundan emin olmamız gerekiyor. Microsoft’ un devcon.exe için kullanım talimatında yazdığı üzere etki alanımızın Güvenlik Poliçelerinde aşağıda ki ayarı yapmamız gerekmektedir. Buna göre;

StartàAdministrative ToolsàDomain Security Policy ye tıklayarak etki alanı güvenlik poliçesini açalım. Burada Local Policies altında User RigthsAssignment altında bulunan Load and Unload Device Drivers (Aygıt sürücülerini yükle ve kaldır) adlı ilkeye çift tıklanarak Define These Policy Settings kutusu işaretlenir ve aşağıda Add User or Group butonuna tıklanarak etki alanında ki Domain Users kullanıcı grubu seçilir. Bu ayar kullanıcıların bilgisayarına 90+-30 dakika içerisinde ya da kullanıcılar bilgisayarlarını yeniden başlattıklarına uygulanacaktır.

Yukarıda ki ayarımızı tamamladığımıza göre kullanıcıları sistemlerine kurulacak olan donanım sürücülerini herkesin ulaşabileceği bir yerde paylaşıma açmalı ve Everyone – Read yetkisi vermeliyiz. Ben burada bu klasörü kartsurucu klasörünün altında omnikey klasörü olarak belirledim. Etki alanımızın kurulu olduğu sunucunun adı da mainserver olduğu düşünülürse UNC adresimiz \\mainserver\kartsurucu\omnikey olacaktır. Aynı klasörün altında devcon adında bir klasör daha oluşturdum ve bu klasöre de kullanıcıların bilgisayarlarında \%systemroot%\system32 altına kopyalayacağımız devcon.exe dosyasını koydum. Bu klasörün UNC adresi de \\mainserver\kartsurucu\devcon olacaktır.

Şimdi sistemlere kurulumu yapılacak olan kart okuyucunun donanım ID sini öğrenmemiz gerekecek. Bunun için sunucuya kart okuyucuyu taktıktan sonra yeni donanım bulundu sihirbazını İPTAL diyerek kapatalım. Komut satırından aşağıda ki komutu girerek sistemde ki USB portlarını ve USB portlarına takılı olan cihazların donanım ID lerini listelemiş oluruz. Komutumuz;

devcon find USB\* dır.

Bu komut sonucunda ekranda ki çıktı aşağıdaki gibi olacaktır;

USB\ROOT_HUB\4&3788CC09&0 : USB Root Hub

USB\ROOT_HUB20\5&5A96D93&0 : USB Root Hub

USB\VID_076B&PID;_3021\5&1F8FD7D0&0&1 : Smart Card Reader USB

USB\VID_0E0F&PID;_0002\5&1F8FD7D0&0&2 : Generic USB Hub

NOT: Yukarıda ki işlemi devcon.exe aracını test amacıyla bir bilgisayarın %systemroot%\system32 klasörüne kopyaladıktan sonra USB cihazın donanım ID sini aynı şekilde öğrenebiliriz.

Yukarıda yazanlardan bizim için önemli olan kısım koyu olarak belirttiğim kısımdır. Burada USB\ ifadesinden sonra ki VID_076B bizde donanım ID sini & işaretinden sonra ki kısımda modelini göstermektedir. Normalde & işaretinden sonrasına aynı sürücü ile birden fazla modelin tanımlandığı durumlarda ihtiyaç duyuyoruz. Yukarıdaki Smart Card Reader USB ifadesi donanımızın sürücüsü yüklenmeden önceki görünen halidir. Sürücümüz başarı ile yüklendikten sonra burada CardMan 3×21 yazacaktır.

Ön hazırlıklarımızı tamamladığımıza göre yükleme işlemleri için gerekli olan batch dosyalarını yazmaya başlayalım. Bu dosyaları yazdıktan sonra dağıtımlarını Group Policy ile sağlayacağız. Öncelikle kullanıcıların bilgisayarlarına devcon.exe yi kopyalamamız gerekiyor. Bunun için komutumuz aşağıda ki gibi olacaktır;

If exist %systemroot%\system32\devcon.exe then goto end

copy \\mainserver\kartsurucu\devcon\devcon.exe %systemroot%\system32\devcon.exe

:end

Yukarıda ki komutları notepad ile oluşturduğumuz copydevconfile.bat isimli bir
batch dosyasının içerisine yazıp kayıt edelim ve dosyayı kopyalayalım. Yazdığımız script dosyasını Group Policy ile dağıtmak için Active Directory Users and Computers konsolunda etki alanı adına sağ tıklayarak Properties seçeneğini seçtikten sonra Group Policy sekmesine gelerek Default Domain Policy yi seçip aşağıdan Edit e tıklayalım (Eğer yüklü ise Administrative Tools dan Group Policy Management konsolunu açıp Default Domain Policy ye sağ tıkayıp Edit tıklanır. Bu konsol yüklü değil ise;

http://www.microsoft.com/downloads/details.aspx?FamilyId=0A6D4C24-8CBD-4B35-9272-DD3CBFC81887&displaylang;=en adresinden indirilebilir).

Açılan konsolda Computer ConfigurationàWindows SettingsàScripts (Startup/Shutdown) bölümüne gelip sağ tarafta bulunan Startup seçeneğine tıklayalım. Açılan pencerede sağ tarafta bulunan Add butonuna ve daha sonrada Browse butonuna tıklayarak daha önce kopyalamış olduğumuz dosyayı açılan iletişim kutusuna yapıştıralım ve OK diyerek tüm pencereleri kapatalım.

Sıra kart okuyucu sürücülerinin kurulumunu sağlayacak komut için bir batch dosyası yazmaya geldi. Bunun için de komutumuz aşağıda ki gibi olacaktır;

Devcon update \\mainserver\kartsurucu\omnikey\cxbu0wdm.inf “USB\VID_076B&PID;_3021”

Yukarıda ki komut satırını notepad ile oluşturduğumuz updatecarddriver.bat isimli bir dosyanın içerisine yazıp kayıt edelim ve dosyayı kopyalayalım. Administrative Tools à Group Policy Management konsolunu açıp Default Domain Policy ye sağ tıkayıp Edit i tıklayalım. Açılan konsolda Computer ConfigurationàWindows SettingsàScripts (Startup/Shutdown) bölümüne gelip sağ tarafta bulunan Startup seçeneğine tıklayalım. Açılan pencerede sağ tarafta bulunan Add butonuna ve daha sonrada Browse butonuna tıklayarak daha önce kopyalamış olduğumuz dosyayı açılan iletişim kutusuna yapıştıralım ve OK diyerek tüm pencereleri kapatalım.

BÖLÜM 2 – Kullanıcı Tarafında Yapılacaklar

Sunucu tarafında ki tüm işlemleri yaptıktan sonra kullanıcılar bilgisayarları kapalıyken kart okuyucusunun sistemlerine takılı şekilde açmaları ya da kullanıcıların bilgisayarları açıkken kart okuyucularını sistemlerine taktıktan sonra çıkan yeni donanım bulundu sihirbazına İPTAL dedikten sonra sistemlerini yeniden başlatmaları yeterli olacaktır. Çünkü Group Policy de batch dosyalarımızı Windows açılırken çalıştırılacak şekilde ayarladık. Sistemler açılırken sürücüler bilgisayara kurulacaktır. Herhangi bir kullanıcının bilgisayarında Device Manager dan ya da devcon.exe aracı ile sistem de takılı olan USB cihazlara bakabiliriz. Komutumuz;

devcon find USB\* dır.

Ekranda ki çıktısı da aşağıdaki gibi olacaktır.

USB\ROOT_HUB\4&3788CC09&0 : USB Root Hub

USB\ROOT_HUB20\5&5A96D93&0 : USB Root Hub

USB\VID_076B&PID;_3021\5&1F8FD7D0&0&1 : CardMan 3×21

USB\VID_0E0F&PID;_0002\5&1F8FD7D0&0&2 : Generic USB Hub

4 matching device(s) found.

Umarım faydalı bir yazı olmuştur. Yeni yazılarımda görüşmek dileğiyle;

M. Hakan CAN

You may also like...

Leave a Reply

Your email address will not be published. Required fields are marked *