Sınırlı Kullanıcıda IP Değişikliği

10.06.2008 | 22:49 Çözümler , Windows , Windows Server 5 Yorum

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.

Yazı Etiketleri: , , ,

Sayfa Başı ▲

Yorumlar (5)

  1. Çetin

    Merhaba belirttiğiniz sistemi yaptım ama bana

    Geçersiz arabirim lan belirlendi gibi bir uyarı veriyor bunun sebebi ne olabilir.

  2. Serhat AKINCI

    Ağ kartı isimleri LAN olmalı. Yada script içerisindeki ağ kartı isimlerini, sizin siteminizdeki isimler ile değiştirin.

    İsimler türkçe karakter içermemeli.

  3. Akhan

    Merhaba Serhat Bey,
    Blogdaki bilgiler için çok teşekkür ederim, çok faydasını gördük. Ben bir şey sormak istedim,
    yukarıdaki script in başında bulunan
    “rem Reset network Settings for static IP” komutunu neden yazmamız gerekiyor. Başında rem olan satırları okumadığını biliyorum, acaba komutu değiştirmek için mi lazım olabilir.. ?

  4. Serhat AKINCI

    Merhaba, Rem ile başlayan satır açıklama satırı. Çalıştırılabilir bir satır değil, sadece alt bölümdeki kodun amacini hatırlamayı kolaylaştıran bir satır.

  5. Akhan

    :) cevap için teşekkür ederim. Başarılarınızın devamını dilerim.

Yorum Ekle