Ağ yönetiminde GUI araçları her zaman elinin altında olmayabilir. Özellikle uzak sunuculara bağlandığında, minimal kurulumlu sistemlerde çalışırken ya da toplu işlemleri otomatize etmen gerektiğinde komut satırı senin en iyi arkadaşın olur. net use ve mstsc komutları, Windows ortamında ağ paylaşımları ve uzak masaüstü bağlantıları için temel araçlardır. Bu iki komutu gerçekten iyi öğrendiğinde, günde onlarca tekrarlayan işi dakikalar içinde halledebilirsin.
net use Komutu Nedir ve Ne İşe Yarar
net use, Windows’ta ağ sürücülerini bağlamak, bağlantıları yönetmek ve paylaşılan klasörlere erişim sağlamak için kullanılan bir komut satırı aracıdır. Aslında “net” komutunun bir alt komutu olup Windows’un en eski ve en güvenilir araçlarından biridir. Active Directory ortamlarında, workgroup yapılandırmalarında ve domain dışı senaryolarda eşit derecede iyi çalışır.
Temel sözdizimi şu şekildedir:
net use [sürücü_harfi:] [\bilgisayarpaylaşım] [şifre] [/USER:kullanıcı] [seçenekler]
Bu komutu kullanmadan önce birkaç temel parametreyi anlamak önemlidir:
/USER: Bağlantı için farklı bir kullanıcı hesabı belirtir/PERSISTENT: Bağlantının sistem yeniden başlatıldıktan sonra da devam edip etmeyeceğini kontrol eder (YES/NO)/DELETE: Mevcut bir ağ bağlantısını kaldırır/SAVECRED: Kimlik bilgilerini Windows Credential Manager’a kaydeder*: Sürücü harfi olarak kullanıldığında, uygun bir harfi otomatik atar
Temel Ağ Sürücüsü Bağlama İşlemleri
En basit senaryodan başlayalım. Dosya sunucundaki bir paylaşımı Z: sürücüsüne bağlamak istiyorsun:
net use Z: \DOSYASERVERPaylasim
Bu komut, domain kullanıcın olarak mevcut kimlik bilgilerinle bağlantı kurar. Eğer farklı bir kullanıcı hesabı gerekiyorsa:
net use Z: \DOSYASERVERPaylasim /USER:DOMAINkullanici_adi Sifre123
Şifrenizi komut satırında düz metin olarak yazmanın güvenlik riski oluşturduğunu unutma. Özellikle paylaşılan ortamlarda veya log dosyalarının tutulduğu sistemlerde bu kullanımdan kaçın. Bunun yerine şifreyi gizli olarak girmek için yıldız işareti kullanabilirsin:
net use Z: \DOSYASERVERPaylasim * /USER:DOMAINkullanici_adi
Bu komut çalıştırıldığında sistem senden şifreyi interaktif olarak girmeni ister ve girdiğin karakterler ekranda görünmez.
Mevcut Ağ Bağlantılarını Listeleme
Hangi ağ bağlantılarının aktif olduğunu görmek için:
net use
Bu komutu çalıştırdığında şu tarz bir çıktı alırsın:
net use
Çıktıda bağlı sürücüler, uzak yollar ve bağlantı durumları görünür. “OK” durumu bağlantının sağlıklı olduğunu, “Disconnected” ise oturumun kesildiğini ama hâlâ tanımlı olduğunu gösterir. “Unavailable” görüyorsan ağ veya sunucu erişim sorunu var demektir.
Belirli bir bağlantının detaylarını görmek için:
net use Z:
Ağ Bağlantılarını Kaldırma
Bir sürücü bağlantısını kaldırmak için:
net use Z: /DELETE
Tüm ağ bağlantılarını tek seferde kaldırmak istiyorsan:
net use * /DELETE
Bu komut çalıştırıldığında sistem onay ister. Onayı atlamak ve scriptte kullanmak için /Y parametresini ekle:
net use * /DELETE /Y
Gerçek Dünya Senaryosu: Toplu Sürücü Bağlama Scripti
Sabah işe geldiğinde veya kullanıcılar logon yaptığında otomatik olarak ağ sürücülerini bağlaması gereken bir ortamda çalışıyorsun diyelim. Group Policy ile logon scripti olarak kullanabileceğin şu örneği incele:
@echo off
REM Departman sürücülerini bağla
REM Önce mevcut bağlantıları temizle
net use * /DELETE /Y
REM Ortak departman paylaşımı
net use H: \DOSYASERVER01Kullanici%USERNAME% /PERSISTENT:YES
REM Departman paylaşımı
net use K: \DOSYASERVER01DepartmanMuhasebe /PERSISTENT:YES
REM Şirket genel kaynak klasörü
net use L: \DOSYASERVER01Genel /PERSISTENT:YES
REM Yazıcı paylaşımı
net use LPT1: \YAZICISERVERMuhasebePrinter /PERSISTENT:YES
echo Ağ sürücüleri başarıyla bağlandı.
pause
Bu scripti \DOSYASERVER01SYSVOLdomain.localscripts konumuna koyup Group Policy üzerinden “Logon Script” olarak tanımlarsan, kullanıcılar her oturum açtığında sürücüleri otomatik bağlanır.
Yönetici Paylaşımlarına Erişim
Windows’un varsayılan yönetici paylaşımları (admin shares) olan C$, D$, ADMIN$ gibi paylaşımlara erişmek için:
net use Z: \UZAKBILGISAYARC$ /USER:UZAKBILGISAYARAdministrator
Bu özellikle uzak bilgisayarlarda dosya kopyalama, log toplama veya acil müdahale gerektiren durumlarda son derece kullanışlıdır. Ancak bu paylaşımlara erişim için hedef makinede local administrator yetkisine sahip olman gerekir.
Domain ortamında domain admin hesabıyla:
net use \UZAKBILGISAYARADMIN$ /USER:DOMAINdomainadmin
IPC$ Paylaşımı ve Null Session
IPC$ (Inter-Process Communication) paylaşımı, ağ üzerinden prosesler arası iletişim için kullanılır. Bazı eski uygulamalar veya araçlar bu paylaşıma ihtiyaç duyar:
net use \SUNUCUIPC$ /USER:DOMAINkullanici
Bağlantıyı test etmek veya sorun gidermek için bu teknik sıkça kullanılır.
mstsc ile Uzak Masaüstü Bağlantıları
mstsc (Microsoft Terminal Services Client), Windows’un yerleşik RDP (Remote Desktop Protocol) istemcisidir. GUI’den başlatmak yerine komut satırından çalıştırmanın büyük avantajları var: parametre geçebilir, batch dosyalarına ekleyebilir ve bağlantıları hızlıca otomatize edebilirsin.
Temel kullanım:
mstsc /v:SUNUCU_ADI_VEYA_IP
Önemli parametreler:
/v:sunucu[:port]: Bağlanılacak sunucu adı veya IP adresi, opsiyonel port numarasıyla/f: Tam ekran modunda bağlan/w:genişlik /h:yükseklik: Pencere boyutunu belirle/admin: Yönetici oturumuna bağlan (eski /console parametresinin yerini aldı)/multimon: Çoklu monitör desteğini etkinleştir/span: Bağlantıyı tüm monitörlere yay/edit:dosya.rdp: Mevcut RDP dosyasını düzenlemek için aç/restrictedAdmin: Kısıtlı yönetici modunda bağlan (pass-the-hash saldırılarına karşı koruma)/remoteGuard: Remote Credential Guard ile bağlan/public: Genel bilgisayar modunda çalıştır (kimlik bilgileri önbelleğe alınmaz)/prompt: Her zaman kimlik bilgisi iste
Pratik mstsc Örnekleri
Belirli bir porta RDP bağlantısı (varsayılan 3389 değil de özel port kullanan sunucular için):
mstsc /v:192.168.1.100:3390
Tam ekran ve belirli çözünürlük ile:
mstsc /v:WEBSERVER01 /f /w:1920 /h:1080
Sunucunun konsol oturumuna bağlanmak için (özellikle eski sunucularda veya lisans sorunlarında):
mstsc /v:SUNUCU01 /admin
RDP Dosyaları Oluşturma ve Kullanma
mstsc‘nin güçlü yanlarından biri .rdp uzantılı yapılandırma dosyalarıyla çalışabilmesidir. Bu dosyalar tüm bağlantı ayarlarını içerir ve paylaşılabilir.
Bir RDP dosyasıyla bağlanmak için:
mstsc C:ConnectionsWebServer.rdp
RDP dosyasının içeriği aslında düz metin formatındadır ve bir metin editörüyle düzenleyebilirsin. Temel bir RDP dosyası şöyle görünür:
full address:s:192.168.1.50
username:s:DOMAINadminkullanici
screen mode id:i:2
desktopwidth:i:1920
desktopheight:i:1080
session bpp:i:32
audiomode:i:0
redirectclipboard:i:1
redirectprinters:i:0
redirectdrives:i:0
Bu dosyayı oluşturmak için mevcut bir bağlantıyı da dışa aktarabilirsin:
mstsc /edit:C:ConnectionsYeniSunucu.rdp
Gerçek Dünya Senaryosu: Sunucu Bakım Scripti
Diyelim ki her hafta 20 sunucuya sırayla bağlanıp Windows Update durumlarını kontrol etmen gerekiyor. Her birini tek tek aramak yerine şu yaklaşımı kullanabilirsin:
@echo off
setlocal
REM Sunucu listesi dosyasından oku
for /f "tokens=*" %%S in (C:Adminsunucu_listesi.txt) do (
echo Bağlanılıyor: %%S
mstsc /v:%%S /f
echo %%S bağlantısı açıldı, diğer sunucu için Enter'a bas...
pause
)
echo Tüm sunuculara bağlanıldı.
sunucu_listesi.txt dosyasında her satırda bir sunucu adı veya IP adresi bulunur. Bu script sırayla her sunucuya RDP açar ve senin müdahaleni bekler.
net use ve mstsc’yi Birlikte Kullanmak
Bu iki aracı birleştirerek çok daha güçlü senaryolar oluşturabilirsin. Örneğin, bir sunucuya RDP açmadan önce dosya sistemi erişimini kontrol etmek:
@echo off
set SUNUCU=APPSERVER01
set DOMAIN=SIRKET
set KULLANICI=yonetici
REM Önce ağ bağlantısını test et
net use \%SUNUCU%ADMIN$ /USER:%DOMAIN%%KULLANICI% *
if %ERRORLEVEL% NEQ 0 (
echo HATA: %SUNUCU% sunucusuna erişilemiyor!
pause
exit /b 1
)
echo Bağlantı başarılı, RDP açılıyor...
net use \%SUNUCU%ADMIN$ /DELETE
REM RDP bağlantısını aç
mstsc /v:%SUNUCU% /admin
Sorun Giderme: Yaygın Hatalar ve Çözümleri
Hata 53: Ağ yolu bulunamadı
Bu hata genellikle DNS çözümleme veya ağ bağlantısı sorununu gösterir. Önce ping ve nslookup ile temel bağlantıyı test et:
ping DOSYASERVER01
nslookup DOSYASERVER01
net use \192.168.1.10Paylasim
IP adresiyle çalışıyorsa sorun DNS’tedir.
Hata 1326: Kullanıcı adı veya şifre hatalı
Kimlik bilgilerini doğrulamak için:
net use \SUNUCUIPC$ /USER:DOMAINkullanici *
Bu komut sadece kimlik doğrulama yapar. Başarılıysa “Komut başarıyla tamamlandı” mesajını görürsün.
Hata 1219: Aynı sunucuya birden fazla kullanıcıyla bağlantı sorunu
Aynı sunucuya farklı kimlik bilgileriyle iki ayrı bağlantı açmaya çalışırsan bu hatayı alırsın. Mevcut bağlantıyı önce temizle:
net use \SUNUCU /DELETE
net use Z: \SUNUCUPaylasim /USER:DOMAINyenikullanici
mstsc bağlantısı kurulamıyor
Hedef makinede RDP’nin etkin olup olmadığını ve güvenlik duvarı kurallarını kontrol et. CMD’den hızlı test:
telnet SUNUCU01 3389
Telnet yüklü değilse PowerShell ile de test edebilirsin ama CMD odaklı kalmak istiyorsak bu yeterli.
Güvenlik Notları ve En İyi Pratikler
Günlük kullanımda dikkat etmen gereken birkaç önemli nokta var:
- Şifreleri düz metin olarak yazma: Batch dosyalarına veya komut geçmişine şifre yazma alışkanlığından kaçın.
*parametresiyle interaktif giriş yap ya da Windows Credential Manager’ı kullan.
- Persistent bağlantıları dikkatli kullan:
/PERSISTENT:YESile kaydedilen bağlantılar sistem yeniden başlatıldığında otomatik bağlanmaya çalışır. Şifre değişikliklerinde sorun çıkarabilir.
- RDP portunu değiştirmeyi düşün: Varsayılan 3389 portu saldırganların tarama listesinin başında gelir. Registry üzerinden port değişikliği yapılabilir, mstsc
/v:sunucu:YeniPortile kullanılır.
- NLA (Network Level Authentication) kullan: RDP bağlantılarında NLA zorunlu kılmak, oturum açmadan önce kimlik doğrulamasını tamamlar ve sunucu kaynaklarını korur.
- Logları takip et:
net useile yapılan bağlantılar Windows Event Log’a kaydedilir. Event ID 4624 (başarılı logon) ve 4625 (başarısız logon) olaylarını izle.
CMD’de Credential Manager ile Entegrasyon
Kimlik bilgilerini güvenli bir şekilde saklamak için Windows Credential Manager’a cmdkey komutuyla erişebilirsin:
REM Kimlik bilgisi kaydet
cmdkey /add:DOSYASERVER01 /user:DOMAINkullanici /pass:Sifre123
REM Kaydedilmiş kimlik bilgilerini listele
cmdkey /list
REM Belirli bir kaydı sil
cmdkey /delete:DOSYASERVER01
cmdkey ile kaydettiğin kimlik bilgilerini net use otomatik olarak kullanır:
net use Z: \DOSYASERVER01Paylasim
Aynı şekilde mstsc da bu kimlik bilgilerini kullanır, bağlantı sırasında şifre sormaz.
PowerShell ile Karşılaştırma
“Neden PowerShell değil de CMD?” diye sorabilirsin. Birkaç geçerli neden var. Eski sistemlerde, Windows Server Core kurulumlarında veya kısıtlı ortamlarda PowerShell her zaman mevcut veya izinli olmayabilir. Ayrıca net use komutunun basitliği ve hızı bazı senaryolarda PowerShell’in New-PSDrive veya New-SmbMapping cmdlet’lerinden üstün olabilir. Her iki aracı da bilmek seni farklı ortamlara hazır kılar.
Sonuç
net use ve mstsc komutları, onlarca yıllık Windows geçmişine rağmen hâlâ aktif olarak kullanılan ve değerini koruyan araçlardır. Ağ paylaşımlarını otomatize etmek, toplu bağlantı yönetimi yapmak ve RDP bağlantılarını scriptlere entegre etmek istediğinde bu iki komut seni nadiren yarı yolda bırakır.
Özellikle net use ile oluşturulan logon scriptleri, küçük ve orta ölçekli ortamlarda Group Policy ile mükemmel uyum sağlar. mstsc‘nin RDP dosyası desteği ise farklı sunucu ortamları arasında geçiş yapan sysadminler için büyük kolaylık sunar. cmdkey ile bu araçları güvenli kimlik bilgisi yönetimiyle birleştirdiğinde, elimde sağlam ve güvenilir bir otomasyon seti elde etmiş olursun.
Bu komutları günlük iş akışına entegre etmek için küçük başla. Önce mevcut el işlerinden birini seç, bir batch scripti yaz ve test et. Zamanla bu komutların ne kadar çok senaryoya uygulanabildiğini göreceksin.