Forum

IP Sıkıntısı
 
Bildirimler
Hepsini Temizle

IP Sıkıntısı

61 Yazılar
10 Üyeler
0 Reactions
2,266 Görüntüleme
(@AhmetAkkaya)
Gönderiler: 164
Reputable Member
Konu başlatıcı
 

Savaş bey çalışmadı dns için verdiğin script.yine türkçe karakter sıkıntısı mı var acaba ..

 
Gönderildi : 12/06/2012 01:54

(@ugurburma)
Gönderiler: 1973
Üye
 

Komut satırındayken, edit komutu ile yazın Türkçe karakter problemine takılmazsınız

 
Gönderildi : 12/06/2012 02:15

(@SavasKAPLAN)
Gönderiler: 244
Reputable Member
 

Savaş bey çalışmadı dns için verdiğin script.yine türkçe karakter sıkıntısı mı var acaba...
netsh interface ip set dns "local area" dhcp
dhcp, source=dhcp olacaktı orayı atlamışım.

Burdaki komutu aşağıdaki komutların altına ekleyerek çalıştırırsanız bi sıkıntı çıkmayacaktır. "local area" normalde Yerel Ağ Bağlantısı olarak bildiğimiz bağdaştırıcı ismi, Türkçe karakter sıkıntısı olmaması için bu şekilde isimlendirdim. Dolayısıyla istediğiniz ismi verebilirsiniz.

netsh interface set interface name="Yerel Ağ Bağlantısı" newname="local area"
netsh interface ip set address "local area" source=dhcp
netsh interface ip set dns "local area" source=dhcp

Ayrıca şunu unutmayın. Bunu bütün client'larda çalıştırmadan önce kesinlikle aşağıdaki scripti çalıştırın, tabii kendi bilgisayarınızda. Çünkü ilk postunuzda belirttiğiniz üzere bazı bilgisayarlarınızın dhcp kurulu olsa dahi sabit bir ip adresi olması gerektiğine değinmiştiniz. Sabit olması gerekenleri mac adresleriyle birlikte rezerve edin.

@echo off

SET ipblock=1
:while
IF %ipblock%=="254" (GOTO wend)
nbtstat -A 192.168.1.%ipblock%|findstr /c:"MAC" /c:"192.168.1.%ipblock%"
SET /a ipblock=ipblock+1
GOTO while
:wend
PAUSE
 
 
Gönderildi : 12/06/2012 19:15

(@AhmetAkkaya)
Gönderiler: 164
Reputable Member
Konu başlatıcı
 

netsh interface set interface name="Yerel Ağ Bağlantısı" newname="local area"
netsh interface ip set address "local area" source=dhcp
netsh interface ip set dns "local area" source=dhcp

savas bey verdiğiniz script yine çalışmadı.

 

 

 
Gönderildi : 12/06/2012 23:12

(@ufuktatlidil)
Gönderiler: 5718
Illustrious Member
 

Local Area Connection olarak dener misin.

Kabus gibi bişey oldu bu durum sana elle yapsan bitmişti 🙁

 
Gönderildi : 12/06/2012 23:34

(@AhmetAkkaya)
Gönderiler: 164
Reputable Member
Konu başlatıcı
 

 

 

Sonun da oldu teşekkürler 🙂 ağ bağlantıları otomatiğe döndü.scipt in son hali:

 

SETLOCAL ENABLEDELAYEDEXPANSION
FOR /F "tokens=*" %%a IN ('wmic NIC where "netconnectionid like '%'" get netconnectionid ^| FIND /i "yerel"') DO SET lan=%%a
FOR /f "tokens=* delims= " %%a IN ("%lan%") DO SET lan=%%a
FOR /l %%a IN (1,1,21) DO IF "!lan:~-1!"==" " SET lan=!lan:~0,-1!
NETSH interface ip SET address "%lan%" source=dhcp
netsh interface ip set dns "%dns%" source=dhcp

 

 

 

 

 

 

 

 
Gönderildi : 12/06/2012 23:38

(@SavasKAPLAN)
Gönderiler: 244
Reputable Member
 

Merhaba Ahmet Bey, üstte ilk verdiğiniz Dos çıktısında dikkat ederseniz bağdaştırıcı ismi olarak "Yerel A-­ Ba-­lant²s²" şeklinde gözüküyor, haliyle tanımlı böyle bir bağdaştırıcı olmadığı için çalışmıyor.

Düzenleyip çalıştırdığınız script query ile ismi çekiyor(wmic NIC where "netconnectionid like '%'" get netconnectionid), lan değişkenine atamasını yapıyor(SET lan=%%a) ancak içindeki boşlukları trim etmesi için ikinci for döngüsünü eklediğim zaman birinci for döngüsü hata veriyor, sorguyu yapamıyordu, yapsa bile değişkene atayamıyordu. Bu sorunu dün bi türlü aşamadım. Tahminimce windows 7 kullandığımdan bu sorunla karşılaştım. Xp client'ta deneme fırsatı bulamadım. İmkanlar olmayınca böyle oluyo, naparsın işte 🙂

Bu arada eklemekte fayda var, scriptte hata var. Çalışmaması lazım 🙂

 netsh interface ip set dns "%dns%" source=dhcp
Burda %dns% şeklinde bir değişken var ama tanımlanmamış, ip adreslerini otomatiğe alsa bile bu satır yüzünden DNS'i otomatiğe almayacaktır. Scriptin son hali aşağıdaki gibi.
Başarılar, iyi çalışmalar.
SETLOCAL ENABLEDELAYEDEXPANSION
FOR /F "tokens=*" %%a IN ('wmic NIC where "netconnectionid like '%'" get netconnectionid ^| FIND /i "yerel"') DO SET lan=%%a
FOR /f "tokens=* delims= " %%a IN ("%lan%") DO SET lan=%%a
FOR /l %%a IN (1,1,21) DO IF "!lan:~-1!"==" " SET lan=!lan:~0,-1!
NETSH interface ip SET address "%lan%" source=dhcp
netsh interface ip set dns "%lan%" source=dhcp
 

 
Gönderildi : 13/06/2012 00:32

(@AhmetAkkaya)
Gönderiler: 164
Reputable Member
Konu başlatıcı
 

düzeltmeniz için teşekkürler savaş bey 🙂 yalnız bir sorun var xp tamam da win7 çalışmıyor script 🙂

 
Gönderildi : 13/06/2012 01:07

(@serkanates)
Gönderiler: 1323
Üye
 

düzeltmeniz için teşekkürler savaş bey 🙂 yalnız bir sorun var xp tamam da win7 çalışmıyor script 🙂

Script'i yönetici hakları ile çalıştırıyorsunuz değil mi ? 

 
Gönderildi : 13/06/2012 11:02

(@AhmetAkkaya)
Gönderiler: 164
Reputable Member
Konu başlatıcı
 

evet ..

 
Gönderildi : 13/06/2012 11:24

(@serkanates)
Gönderiler: 1323
Üye
 

evet ..

Ahmet bey;

Eğer denemediyseniz, oturum açmış olduğunuz kullanıcı yönetici olsa dahi script'in üzerinde sağ tıklayıp açılan menüden "Yönetici olarak çalıştır" seçeneği ile tekrar deneyebilir misiniz ?

İyi çalışmalar. 

 
Gönderildi : 14/06/2012 03:25

(@AhmetAkkaya)
Gönderiler: 164
Reputable Member
Konu başlatıcı
 

denedim serkan bey çalışmıyor ..

 
Gönderildi : 14/06/2012 11:28

(@serkanates)
Gönderiler: 1323
Üye
 

denedim serkan bey çalışmıyor ..

Komut Istemcisini yönetici olarak çalıştırdıktan sonra komutları manuel olarak girip aldığınız mesajları paylaşır mısınız ?

 
Gönderildi : 14/06/2012 16:03

(@AhmetAkkaya)
Gönderiler: 164
Reputable Member
Konu başlatıcı
 

 

 çok hızlı geçtiği için yakalaya bildiğim kısım bu ..

 

 
Gönderildi : 14/06/2012 19:17

(@serkanates)
Gönderiler: 1323
Üye
 

Bu satırda arayüz adı boş geldiği için olmamış gibi görünüyor. Aşağıdaki linkleri inceleyebilirsiniz.

http://www.cozumpark.com/forums/post/198613.aspx
http://technet.microsoft.com/en-us/library/gg214167(v=ws.10).aspx
http://technet.microsoft.com/en-us/library/dd573311(v=ws.10).aspx  

İyi çalışmalar.. 

 
Gönderildi : 15/06/2012 01:49

(@AhmetAkkaya)
Gönderiler: 164
Reputable Member
Konu başlatıcı
 

bir kaç gündür internet üzerinde araştırıyordum sonunda işime yarayabileceğimi düşündüğüm bir .vbs komutu buldum.test ortamım da denedim şuan için çalışıyor fakat daha test edicem birkaç gün daha.

ama yine win7 üzerinde çalışmadı komut , xp de sorun yok .. bu komut ile sadece subnet mask adresi değişiyor.. 252 yaparak ağ adreslerimi genişletmeyi düşünüyorum.

 

 

strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

Set colNetAdapters = objWMIService.ExecQuery _
    ("Select * from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE")

strSubnetMask = Array("255.255.252.0")

For Each objNetAdapter in colNetAdapters
    strIPAddress = objNetAdapter.IPAddress
    strGateway = objNetAdapter.DefaultIPGateway
    strGatewayMetric = objNetAdapter.GateWayCostMetric

    errEnable = objNetAdapter.EnableStatic(strIPAddress, strSubnetMask)
    errGateways = objNetAdapter.SetGateways(strGateway, strGatewaymetric)
    If errEnable = 0 Then
        WScript.Echo "The IP address has been changed."
    Else
        WScript.Echo "The IP address could not be changed."
    End If
Next

 

 

 
Gönderildi : 16/06/2012 02:12

(@SavasKAPLAN)
Gönderiler: 244
Reputable Member
 

Merhabalar Ahmet Bey,

Bir kaç gündür şehir dışında olduğum için cevap yazmaya fırsatım olmadı. Windows 7 ve Xp bilgisayarlar için aşağıdaki scripti kullanabilirsiniz.
Denedim %100 çalışıyor 🙂

Kolay gelsin, iyi çalışmalar. 

@echo off
cls
set dhcp=on
set NetName=Local Area Connection
setlocal
(
echo Const NETWORK_CONNECTIONS = ^&H31^&
echo Set NShell = CreateObject("Shell.Application"^)
echo Set NFolder = NShell.Namespace(NETWORK_CONNECTIONS^)
echo Set SItems = NFolder.Items
echo Set CozumPark = WScript.CreateObject("Wscript.Shell"^)
echo For Each NItem in SItems
echo If NItem.Name = "Yerel Ağ Bağlantısı" Then
echo NItem.Name = "%NetName%"
echo End If
echo Next
Set NShell = Nothing
)>%temp%\net.vbs
cscript.exe %temp%\net.vbs
NETSH interface ip SET address "%NetName%" source=dhcp"
NETSH interface ip SET dns "%NetName%" source=dhcp"

if %dhcp%==on
call:iprefresh
goto end

:iprefresh
ipconfig /release
ipconfig /renew
:end

 
Gönderildi : 16/06/2012 04:50

(@AhmetAkkaya)
Gönderiler: 164
Reputable Member
Konu başlatıcı
 

echo If NItem.Name = "Yerel Ağ Bağlantısı" Then

merhaba savaş bey

evet komut hem xp de hem de win7 de çalışmakta teşekkürler.

ama bazı clientlerin ağ kartı isimleri (örnek: Yerel Ağ Bağlantısı 2) faklı.bu durumda komut çalışmayacaktır .. (denedim çalışmadı)

 
Gönderildi : 16/06/2012 14:04

(@SavasKAPLAN)
Gönderiler: 244
Reputable Member
 

Deneme yaptığım bilgisayarda fazladan ağ olduğu kartları için sadece bu şekilde ayarlama fırsatım oldu. 

@echo off
cls
set dhcp=on
set NetName=Local Area Connection
setlocal
(
echo Const NETWORK_CONNECTIONS = ^&H31^&
echo Set NShell = CreateObject("Shell.Application"^)
echo Set NFolder = NShell.Namespace(NETWORK_CONNECTIONS^)
echo Set SItems = NFolder.Items
echo Set CozumPark = WScript.CreateObject("Wscript.Shell"^)
echo For Each NItem in SItems
echo If NItem.Name = "Yerel Ağ Bağlantısı" Then
echo NItem.Name = "%NetName%"
echo ElseIf 
NItem.Name = "Yerel Ağ Bağlantısı 2" Then 
echo  NItem.Name = "%NetName%"
echo ElseIf  NItem.Name = "Yerel Ağ Bağlantısı 3" Then 
echo  NItem.Name = "%NetName%"
echo End If
echo Next
echo Set NShell = Nothing
)>%temp%\net.vbs
cscript.exe %temp%\net.vbs
NETSH interface ip SET address "%NetName%" source=dhcp"
NETSH interface ip SET dns "%NetName%" source=dhcp"

if %dhcp%==on
call:iprefresh
goto end

:iprefresh
ipconfig /release
ipconfig /renew
:end

 
Gönderildi : 16/06/2012 17:57

Sayfa 3 / 4
Paylaş: