Bildiğiniz gibi sınırlı kullanıcılar TCP/IP ayarlarına müdahale edemez ve IP bilgilerini değiştiremez. TCP/IP bilgisini değiştirebilecek en düşük yetkiye sahip gurup, Network Configuration Operators gurubudur. Bazı durumlarda Sınırlı Kullanıcı yetkisine sahip oturumlar üzerinde ip değişikliği yapmak isteyebilirsiniz. Aşağıdaki adımları uygulayarak bunu yapmak mümkün.
Öncelikle IP yapılandırmasını değiştirecek basit bir BAT dosyası düzenlememiz gerekiyor.
Örnek içerik:
rem Reset network Settings for static IP
netsh interface ip set address name = "LAN" source = static addr = 10.10.10.15 mask = 255.255.255.0
netsh interface ip set address name = "LAN" gateway = 10.10.10.1 gwmetric = 1
netsh interface ip set dns name = "LAN" source = static addr = 10.10.10.2
netsh interface ip add dns name = "LAN" addr = 10.10.10.3
netsh interface ip show config
exit
Burada dikkat etmemiz gerek nokta ise ağ bağlantısı isimleri. Eğer ağ bağlantısı isimleri “Yerel Ağ Bağlantısı” olarak duruyorsa ki Türkçe Windows’larda durum budur, hepsine Türkçe karakter içermeyen bir isim vermemiz gerekiyor. “Local Area Connection” yada “LAN” gibi. Topluca ağ bağlantısı ismi değiştirmek ile ilgili olarak buraya bakabilirsiniz.
Daha sonra, oluşturmuş olduğumuz bat dosyasını EXE haline getirmemiz gerekiyor. Buradan bat to exe convert programını indiriyoruz. Farklı bir uygulama da kullanabilirsiniz.
Hazırladığımız BAT dosyasını bat to exe programı ile EXE dosyası haline getiriyoruz (ör: IPChange.exe) ve çalıştırarak IP ayarlarını gerçekten değiştirebildiğinden emin oluyoruz. (yetkili bir kullanıcı üzerinde test edebilirsiniz, amaç EXE’nin çalıştığını görmek.)
Daha sonra IPChange.exe dosyasını file://server/Ortak/IPChange.exe gibi herkezin erişebileceği bir paylaşıma atıyoruz ($ ile gizli paylaşımda kullanabilirsiniz. $ kullanırsanız aşağıdaki scriptteki paylaşım yolunu ona göre düzenlemelisiniz)
Daha sonra aşağıdaki gibi bir Script düzenliyoruz.
set WshShell = CreateObject("WScript.Shell")
WshShell.Run "runas /user:serhat@serhatakinci.local file://server/ORTAK/IPChange.exe"
WScript.Sleep 100
WshShell.Sendkeys "123456"
WshShell.SendKeys "{ENTER}"
serhat@serhatakinci.local kullanıcısı IP değiştirebilecek yetkide bir hesap olmalı. 123456 ise bu hesabın şifresi. Script’i bu şekilde düzenliyoruz ve sınırlı kullanıcıların masa üstüne atıyoruz.
Bu noktadan sonra sınırlı bir kullanıcı bu scripti çalıştırdığı zaman IPChange.exe serhat/123456 yetkileri ile çalışacak ve gerekli IP değişikliğini yapacaktır.
Dikkat edilmesi gereken bir diğer nokta ise Script içinde kullanılacak hesap bilgisi. Bu Script’in içeriği kullanıcılar tarafından görülebileceği için, asla domain admin gibi bir hesap kullanmayın. En doğrusu, minimum yetkilerde bir hesap düzenlemek olacaktır. AD içerisinde bir hesap yaratın ve user yetkisinde olsun. Daha sonra bu hesabı local bilgisayarlar üzerinde Network Configuration Operators gurubuna üye yapın ve Script’te bu hesap bilgisini kullanın. Kullanıcıyı local guruplara ekleme ile ilgili olarak buraya bakabilirsiniz.