Aracılığıyla paylaş


Ağ kabuğu (netsh)

Ağ kabuğu (netsh), Windows ve Windows Server sistemlerinde ağ bileşenlerini ve sunucu rollerini yapılandırmaya, yönetmeye ve izlemeye yönelik çok yönlü ve kapsamlı bir komut satırı yardımcı programıdır. ile netshağ ayarlarını görüntüleyebilir ve değiştirebilir, görevleri otomatikleştirebilir ve ağ sorunlarını yerel olarak veya uzaktan giderebilirsiniz.

Birçok senaryoda netsh komutları, ağ sunucusu rollerini ve özelliklerini yönetmek için Microsoft Yönetim Konsolu (MMC) ek bileşenlerine eşdeğer işlevler sunar. Bu, yöneticilerin yapılandırma ve yönetim görevlerini grafik MMC arabirimi aracılığıyla veya komut satırı otomasyonu kullanarak gerçekleştirmesine olanak tanır.

Örneğin, NPS MMC ek bileşenini veya netsh komutlarını netsh nps bağlamında kullanarak Ağ İlkesi Sunucusu (NPS)'yu yapılandırabilirsiniz. Buna ek olarak, IPv6, ağ köprüsü ve Uzak Yordam Çağrısı (RPC) gibi ağ teknolojileri için Windows Server'da MMC ek bileşeni olarak bulunmayan netsh komutları vardır.

Important

Windows ve Windows Server'da ağ teknolojilerini yönetmek için netsh yerine Windows PowerShell kullanmanız önerilir.

Örnek söz dizimi

netsh [-a <Aliasfile>] [-c <Context>] [-r <RemoteMachine>] [-u <DomainName>\<Username>] [-p <Password> | *] [Command> | -f <ScriptFile>]

Aşağıdaki parametreler isteğe bağlıdır.

Parameter Description
-a Diğer ad dosyasını çalıştırdıktan sonra netsh kabuğuna dönmek istediğinizi belirtir. Diğer ad dosyası, bir veya daha fazla netsh komutu içeren metin dosyasıdır.
-c Belirtilen netsh bağlamını girer. Bağlam, belirli bir özellik veya işlevle ilgili belirli bir kullanılabilir komut kümesini temsil eder.
-r Komutunun uzak bir bilgisayarda bilgisayar adını, tam etki alanı adını (FQDN) veya IP adresini kullanarak çalışmasını istediğinizi belirtir. Uzak Kayıt Defteri hizmeti uzak bilgisayarda çalışıyor olmalıdır. Çalışmıyorsa, Windows bir "Ağ Yolu Bulunamadı" hata iletisi görüntüler.

Ardından başka bir komut belirtirseniz -r , netsh uzak bilgisayarda komutunu çalıştırır ve komut istemine döner. Başka bir komut belirtmeden -r kullanırsanız, netsh uzak modda açılır. İşlem, netsh komut kabuğunda set machine kullanmaya benzer bir şekilde yapılır. Kullandığınızda -r, hedef bilgisayarı yalnızca geçerli netsh örneği için ayarlıyorsunuz.
-u biçimi kullanarak DomainName\Username belirli bir kullanıcı hesabı altında netsh komutunu çalıştırmak istediğinizi belirtir.
-p Kullanıcı hesabı için parola sağlamak istediğinizi belirtir. Kullanılırsa * , parolayı güvenli bir şekilde girmek istediğinizi belirtir.
Command Bu, çalıştırmak istediğiniz netsh komutudur.
-f Sağladığınız betik dosyasından komutları yürüttükten sonra netsh'ten çıkmak istediğinizi belirtir.

Dize değeriniz karakterler arasında boşluklar içeriyorsa, dize değerini tırnak içine almanız gerekir. Örneğin, -r "contoso remote device". uygulamadan çıkıp yeniden netsh girdikten sonra hedef bilgisayar yerel bilgisayar olarak sıfırlanır. WINS'de depolanan bir bilgisayar adı, UNC adı, DNS sunucusu tarafından çözümlenecek bir internet adı veya BIR IP adresi belirterek uzak bir bilgisayarda netsh komutlarını çalıştırabilirsiniz.

Note

Netsh parametresini kullanarak başka bir bilgisayardaki komutlar gibi netsh firewall belirli netsh -r komutlarını kullanmak için Uzak Kayıt Defteri hizmetinin uzak bilgisayarda çalışıyor olması gerekir. Bu hizmet çalışmıyorsa bir ağ iletişimi hata iletisi alabilirsiniz.

netsh komutlarını çalıştırma

Çalıştırma netsh komutları, yükseltilmiş bir komut istemi veya PowerShell penceresi kullanılarak çalıştırılabilir. Yüklü ağ bileşenlerine bağlı olarak kullanmak istediğiniz komutu içeren bağlama değiştirebilirsiniz.

Örneğin, yazarsanız netsh, doğrudan ağ kabuğuna yönlendirilirsiniz. Buraya geldikten sonra, yazıp dhcpEnter tuşuna basarsanız, komutlar için dhcpclient bağlam menüsüne yönlendirilirsiniz.

Komut bağlamları

Netsh, dinamik bağlantı kitaplığı (DLL) dosyalarını kullanarak diğer işletim sistemi bileşenleriyle etkileşim kurar. Her netsh yardımcı DLL'i, ağ sunucusu rolüne veya özelliğine özgü bir komut grubu olan bağlam olarak adlandırılan kapsamlı bir özellik kümesi sağlar. Bu bağlamlar bir veya daha fazla hizmet, yardımcı program veya protokol için yapılandırma ve izleme desteği sağlayarak netsh'in işlevselliğini genişletir.

Örneğin dhcpmon.dll, DHCP sunucularını yapılandırmak ve yönetmek için gereken bağlamı ve komut kümesini netsh ile sağlar.

Yerleştirme, > hangi bağlamda veya alt metinde olduğunuzu öğrenmenize olanak tanır. Kullanılabilir komutlardan herhangi biri için komutunu çalıştırarak netsh ? veya netsh helpEnter tuşuna basarak netsh bağlamlarının listesini alabilirsiniz.

Aşağıda örnek bir çıkış verilmişti:

The following commands are available:

Commands in this context:
..            - Goes up one context level.
?             - Displays a list of commands.
abort         - Discards changes made while in offline mode.
add           - Adds a configuration entry to a list of entries.
advfirewall   - Changes to the 'netsh advfirewall' context.
alias         - Adds an alias.
branchcache   - Changes to the 'netsh branchcache' context.
bridge        - Changes to the 'netsh bridge' context.
bye           - Exits the program.
commit        - Commits changes made while in offline mode.
delete        - Deletes a configuration entry from a list of entries.
dhcpclient    - Changes to the 'netsh dhcpclient' context.
dnsclient     - Changes to the 'netsh dnsclient' context.
dump          - Displays a configuration script.
exec          - Runs a script file.
exit          - Exits the program.
firewall      - Changes to the 'netsh firewall' context.
help          - Displays a list of commands.
http          - Changes to the 'netsh http' context.
interface     - Changes to the 'netsh interface' context.
ipsec         - Changes to the 'netsh ipsec' context.
ipsecdosprotection - Changes to the 'netsh ipsecdosprotection' context.
lan           - Changes to the 'netsh lan' context.
namespace     - Changes to the 'netsh namespace' context.
netio         - Changes to the 'netsh netio' context.
offline       - Sets the current mode to offline.
online        - Sets the current mode to online.
popd          - Pops a context from the stack.
pushd         - Pushes current context on stack.
quit          - Exits the program.
ras           - Changes to the 'netsh ras' context.
rpc           - Changes to the 'netsh rpc' context.
set           - Updates configuration settings.
show          - Displays information.
trace         - Changes to the 'netsh trace' context.
unalias       - Deletes an alias.
wfp           - Changes to the 'netsh wfp' context.
winhttp       - Changes to the 'netsh winhttp' context.
winsock       - Changes to the 'netsh winsock' context.

The following sub-contexts are available:
advfirewall branchcache bridge dhcpclient dnsclient firewall http interface ipsec lan mbn namespace netio nlm ras rpc trace wcn wfp winhttp winsock wlan

To view help for a command, type the command, followed by a space, and then type ?.

Komut alt metinleri

Bağlamlar hem komutları hem de alt metin olarak bilinen iç içe yerleştirilmiş bağlamları da içerebilir. Örneğin, arabirim bağlamı belirli ağ arabirimi ayarlarını yönetmenizi sağlayan ipv4 ve ipv6 gibi alt metinler içerir. Örneğin:

netsh> interface help

The following commands are available:

Commands in this context:
6to4           - Changes to the 'netsh interface 6to4' context.
?              - Displays a list of commands.
dump           - Displays a configuration script.
fl48           - Changes to the 'netsh interface fl48' context.
fl68           - Changes to the 'netsh interface fl68' context.
help           - Displays a list of commands.
httpstunnel    - Changes to the 'netsh interface httpstunnel' context.
ipv4           - Changes to the 'netsh interface ipv4' context.
ipv6           - Changes to the 'netsh interface ipv6' context.
isatap         - Changes to the 'netsh interface isatap' context.
portproxy      - Changes to the 'netsh interface portproxy' context.
set            - Sets configuration information.
show           - Displays information.
tcp            - Changes to the 'netsh interface tcp' context.
teredo         - Changes to the 'netsh interface teredo' context.
udp            - Changes to the 'netsh interface udp' context.

The following sub-contexts are available:
 6to4 fl48 fl68 httpstunnel ipv4 ipv6 isatap portproxy tcp teredo udp

To view help for a command, type the command, followed by a space, and then
 type ?.

Geçerli bağlamınızı değiştirmeden görevleri başka bir bağlamda gerçekleştirmek için netsh kabuğunda kullanmak istediğiniz komutun bağlam yolunu yazın. Örneğin, "NetLAN1" için statik bir IPv4 adresi eklemek ve hem alt ağ maskesini hem de ağ geçidini belirtmek için şunu yazın:

netsh interface ipv4 set address "NetLAN1" static <IP_Address> <Subnet_Mask> <Gateway>

Biçimlendirme açıklaması

Komutları etkileşimli olarak, toplu iş dosyasında veya betikte çalıştırırken doğru komut söz dizimini yorumlamak ve kullanmak için aşağıdaki biçimlendirme göstergesini kullanabilirsiniz.

  • Italik metin, komutu yazarken sağlamanız gereken bilgilerdir. Örneğin, bir komutun -UserNameadlı bir parametresi varsa, gerçek kullanıcı adını yazmanız gerekir.
  • Kalın metin, komutu yazarken tam olarak gösterildiği gibi yazmanız gereken bilgilerdir.
  • Metin ve ardından üç nokta ... bir komut satırında birkaç kez tekrar edilebilen bir parametredir.
  • Köşeli ayraç [ ] arasındaki metin isteğe bağlı bir öğedir.
  • Köşeli ayraçlar { } arasında yer alan ve bir kanalla ayrılmış seçenekler içeren metin, içinden yalnızca birini seçmeniz gereken bir dizi seçenek sağlar; örneğin {enable|disable}.
  • Courier yazı tipiyle biçimlendirilmiş metin kod veya program çıkışıdır.

netsh komutları için dize değerleri

Dize değerinin gerekli olduğu parametreleri içeren komutlar vardır. Dize değerinin karakterler arasında boşluklar içermesi durumunda, dize değerini çift tırnak içine almanız gerekir.

DHCP'ye interface dize değeriyle IPv4 ağları için parametresini ayarlarken, dize değerinin çevresinde çift tırnak işareti kullanın. Örneğin:

netsh interface ipv4> set address name="Wireless Network Connection" dhcp

Alternatif olarak, ağ arabirimleri için dizin numarası, kendisiyle ilişkilendirilmiş adın yerine kullanılabilir. Örneğin:

netsh interface ipv4> set address name=15 dhcp

Arabirim alt metninde bağlı arabirimlerin adını veya dizinini bulmak için, arabirim türünüzü seçin ve ayrıntılı bilgileri görüntülemek için yazın show interfaces . Örneğin:

netsh interface> ipv4 show interfaces
netsh interface> ipv6 show interfaces

Arabirim alt metninde değilseniz, her iki arabirim için de tam komutu çalıştırabilirsiniz. Örneğin:

netsh interface ipv4 show interfaces
netsh interface ipv6 show interfaces

Toplu iş dosyalarında netsh kullanma

Toplu iş dosyası, Windows Komut İstemi (CMD) tarafından yürütülecek bir dizi komut içeren bir düz metin dosyasıdır. Batch dosyalarının bir .bat veya .cmd uzantısı vardır. Bunlar yinelenen görevleri otomatikleştirmek, sistem yapılandırmalarını yönetmek ve kullanıcı müdahalesi olmadan komut dizilerini çalıştırmak için kullanılır. Batch dosyaları özellikle birden çok komut satırı yönergesi içeren görevler için kullanışlıdır.

Toplu komut dosyası bu senaryolarda faydalı olabilir.

  • Toplu ağ yapılandırması: Birden çok bilgisayar için ağ ayarlarını yapılandırmanız gerekiyorsa, bir toplu iş dosyası kurulumu otomatikleştirerek işlemi kolaylaştırabilir. Toplu yapılandırmalar, kurumsal ortamlarda veya birden çok makineyi yöneten BT uzmanları için yararlıdır.

  • Ağ yeniden yapılandırma: Farklı ağ ortamları arasında geçiş yapabilen kullanıcılar toplu iş dosyalarını kullanarak IP adresleri ve DNS sunucuları gibi ayarları el ile müdahale etmeden hızla değiştirebilir.

  • Yedekleme ve geri yükleme ayarları: Değişiklik yapmadan önce ağ ayarlarını yedeklemek için bir toplu iş betiği ve gerekirse bunları geri yüklemek için başka bir komut dosyası oluşturabilirsiniz.

Burada örnek bir toplu iş dosyası verilmiş. "rem" ile başlayan satırlar, kullanıcıların komutların hangi eylemi gerçekleştirdiğini bilmesini sağlayan açıklamalardır:

@echo off
echo Configuring network settings...

REM Set the IP address, subnet mask, and default gateway
netsh interface ip set address name="Ethernet" static 192.168.1.100 255.255.255.0 192.168.1.1

REM Set the DNS server address
netsh interface ip set dns name="Ethernet" static 8.8.8.8

REM Add a secondary DNS server
netsh interface ip add dns name="Ethernet" 8.8.4.4 index=2

REM Enable the firewall
netsh advfirewall set allprofiles state on

echo Network settings configured successfully.
pause

Bu betiğin ne yaptığının kısa bir açıklaması aşağıdadır:

  • "Ethernet" adlı ağ arabirimi için statik BIR IP adresi, alt ağ maskesi ve varsayılan ağ geçidi ayarlar.
  • Kullanılacak birincil DNS sunucusunu yapılandırıyor.
  • İkincil (geri dönüş) DNS sunucusu ekler.
  • Tüm profiller için Gelişmiş Güvenlik özellikli Windows Güvenlik Duvarı'nı etkinleştirir.

Ayrıca bakınız