Teknoloji

Windows Komut Satırı, PowerShell ve Terminal Nedir?

Her bir işletim sisteminde komut satırı yahut konsol olarak isimlendirdiğimiz bir Shell, yani kabul yer alıyor. Pekala bu yazılım ne işe yarıyor? Kabuğu aslında sistemdeki kimi süreçler için bir aracı olarak düşünebilirsiniz. Bunu yabancı biriyle konuşurken tercüman kullanmaya benzetebilirsiniz. Bir proje üzerinde birlikte çalışırken mütercime kederinizi ve bir arada yapmak istediğiniz projeyi anlatırsınız. O da yabancının anlayabileceği lisana uygun biçimde çevirir. Kabuk da (Shell) bizlerin işletim sistemine bir şeyler yaptırmak istediğinde kullanabileceği alternatif yollardan biridir. Biz komut satırına komutu yazarız, o da işletim sisteminin çekirdeğinin anlayabileceği biçimde “davet“ yapar ve süreç gerçekleşir.


Günümüz işletim sistemlerinin çalışma biçimini söz eden katmanlar. Kullanıcıların en çok etkileşimde olduğu Application katmanıdır.

Windows sistemlerde ise üç adet komut satırı yapısı bulunuyor. Bunlar:

  • Command Prompt
  • Microsoft PowerShell
  • Windows Terminal

Bunları tek tek açıklayacak olursak:

  • Komut İstemi (Command Prompt): IBM ve Microsoft tarafından geliştirilip birinci olarak Aralık 1987 yılında kullanıcılara sunulan komut istemcisidir. OS/2, MS-DOS, Windows ve ReactOS tarafından varsayılan konsol olarak kullanılır. “cmd.exe” olarak da bildiğimiz bu yazılım, sistem ile kullanıcının etkileşime girmesi için kullanılan en temel kabuktur.

  • Microsoft PowerShell: Microsoft tarafından Command Prompt’a alternatif olarak geliştirilen; çok daha güçlü, gelişmiş ve kendisine has “Cmdlet” ismi verilen bir scripting yapısına sahip komut satırı uygulamasıdır. Windows 7’den beri tüm Windows sistemlerle bir arada gelen PowerShell’i kullanarak sistemde yetenekleriniz ölçüsünde neredeyse her şeyi yapabilirsiniz. PowerShell birebir vakitte varsayılan Command Prompt komutlarını da destekliyor.

  • Windows Terminal: Aslında Windows Terminal’e tam manasıyla bir kabuk diyemeyiz. Command Prompt, PowerShell, WSL (Windows Subsystem for Linux) dayanaklı yenilikçi bir komut istemci uygulaması. Epeyce çağdaş ve minimal çizgilere sahip diyebiliriz. Windows Terminal’i Microsoft Store üzerinden edinebilirsiniz.

Komut İstemi’ni Çalıştırma

Windows’un en temel ve varsayılan komut istemcisi olan Command Prompt, aslında C:WindowsSystem32cmd.exe yolunda bulunan başlı başına bir yazılım. Komut istemine genel itibariyle üç yahut daha farklı formlarda ulaşabilirsiniz:

  • Windows Search hizmetinden faydalanarak “cmd” yahut “komut istemi” (tırnaklar olmadan) sözlerini aratıp karşımıza çıkan “Komut İstemi” sonucuna tıklayarak.
  • Çalıştır hizmetini açıp “cmd” (tırnaklar olmadan) girerek “Tamam” butonuna basarak.
  • C:WindowsSystem32 dizininin altında bulundan cmd.exe evrakını çalıştırarak.

Ben aşağıdaki ekran imgesinde “Çalıştır” aracını kullanarak komut istemine ulaşmayı tercih ettim. Siz komut istemini bu yollardan dilediğinizi ve size en kolay geleni kullanarak çalıştırabilirsiniz. Çalışmasında rastgele bir farklılık olmayacaktır.

Microsoft PowerShell Çalıştırma

Microsoft tarafından daha güçlü özelliklere sahip yetenekli bir kabuk yapısı olarak geliştirilen PowerShell’e de üç formda ulaşabilirsiniz.

  • Windows Arama hizmetinden faydalanarak “PowerShell” sözünü aratıp karşımıza çıkan “PowerShell” sonucuna tıklayarak.
  • Çalıştır hizmetini açıp “powershell” (tırnaklar olmadan) girerek “Tamam” butonuna basmak.
  • C:WindowsSystem32WindowsPowerShellv1.0 yolunda bulunan “powershell.exe” evrakını çalıştırarak.

Ben aşağıda yer alan ekran imajında görüldüğü üzere dizine gidip çift tıklayarak “PowerShell”i çalıştırmayı tercih ettim. Siz tekrar tıpkı formda kolayınıza gelen bu yollardan rastgele birisini seçip çalıştırmakta özgürsünüz.

Windows Terminal Çalıştırma

Daha çağdaş çizgilere sahip bu terminal maalesef Windows ile bir arada gelmemekte. Windows Terminal’i edinmek için Microsoft Store’u açalım ve arama çubuğuna “Windows Terminal” yazalım. Çıkan sonuçlardan uygun olanı seçelim ve aşağıda görüldüğü üzere “Al” butonuna basalım. İndirme başlayacaktır, heyetimin bitmesini bekleyelim. Daha sonra başlat menüsünden yahut Windows Search hizmeti yardımıyla bulup çalıştırabilirsiniz.

Eski Windows sürümlerinin tersine yeni olan Windows 10 üzere sistemlerde kullanıcı yetkileri güvenlik nedenlerinden dolayı çok daha fazla değer arz etmekte. Bu nedenle Windows’ta da öteki tüm işletim sistemlerinde olduğu üzere yalnızca kullanıcı yetkileriniz ölçüsünde süreç yapabilirsiniz. Windows sistemlerde genel itibariyle değerli diyebileceğimiz 3 adet kullanıcı kümesi bulunur. Bunlar:

  • User (Normal Kullanıcı)
  • Administrator (Yönetici)
  • NT AUTHORITY/SYSTEM (Sistem haklarında çalışan en yetkili kullanıcı)

Olağan bir bilgisayar kullanıcısı bu kümelerden sırf “User” ve “Administrator” yetkilerine ulaşabilir. NT AUTHORITY/SYSTEM ise kritik sistem süreçlerinin çalıştığı kullanıcı kümesidir. Şayet sistem haklarıyla çalışmak istiyorsanız bunu “doğal” yollar ile yapamazsınız. Çünkü şayet herkes bu alana erişebilseydi işletim sistemine ziyan verecek birçok değişiklik yapabilirdi yahut güvenlik manasında önemli ıstıraplar oluşabilirdi. Bu kullanıcı kümesini Unix ve Unix-benzeri sistemlerdeki “root” kümesine, Administrator’ü ise “superuser” kullanıcıya benzetebiliriz. Biz bu anlatımda sistem haklarıyla çalışmamız gereken rastgele bir şey yapmayacağız ama isterseniz sistem haklarına nasıl geçebileceğinize de kısaca değinelim.

Olağan bir Windows kullanıcısı olarak sistem haklarına geçmek için Privilege Escalation prosedürlerinden faydalanmak zorundasınız. Türkçeye “hak yükseltme” olarak çevrilen bu terim aslında rastgele bir yetkili yazılımda, şoförde yahut sistemde çalışan çeşitli özelliklerde yer alan yanılgılar ve güvenlik açıklarından faydalanılarak bir üst yetkili kümeye geçişi söz ediyor. Windows sistemlerde birkaç biçimde hak yükseltebilirsiniz. Bu formüllerden birkaçı:

  • Çeşitli güvenlik açıkları, zafiyetlerden faydalanmak. Exploitlerden yararlanmak.
  • Hak yükseltmeye imkan tanıyan sistem şoförlerinden faydalanan, sisteme zafiyetli şoför yükleyip bu açıkları sömüren yazılımlar kullanmak

Bu unsurlardan neredeyse hiçbirinin son kullanıcının uygulayabileceği kadar kolay olmadığını biliyoruz. Ancak ortalarından en kolayı olarak nitelendirebileceğimiz yazılım kullanarak hak yükseltme hakkında Technopat Toplumsal üzerinde bir anlatımımız bulunuyor. Bu sistemi kullanmak için öncelikle Administrator yetkilerinde bir kullanıcı hesabına sahip olmalısınız.

Not: Bir uzman tarafından önerilmedikçe sistem haklarında çalışmayın, hak yükseltmeye yarayan yazılımları yahut öteki metotlardan faydalanmaya kalkışmayın. Çünkü sistem haklarında çalışırken yapacağınız bir yanılgı nedeniyle işletim sistemine ziyan verebilir yahut çeşitli güvenlik sıkıntılarının ortaya çıkmasına neden olabilirsiniz.


Hak yükseltmeyi söz eden kolay bir görsel.

Olağan Windows kullanıcıları genel itibariyle hiçbir vakit sistem haklarında çalışmaya muhtaçlık duymayacakları için, bu ve bu seri altında yayınlacak olan sonraki yazılarımız boyunca olağan kullanıcı (User) haklarını ve yönetici haklarını (Administrator) kullanarak komut satırında süreçler yapacağız.

Komut istemcisini yönetici olarak çalıştırmak için yapmanız gereken tek şey, komut istemcilerini çalıştırmadan evvel sağ tıklayıp “Yönetici Olarak Çalıştır” seçeneğini kullanmak. Daha sonra hesabınızda rastgele bir parola bulunuyorsa istendiğinde girmeniz kâfi.

Yönetici olarak çalıştırılan komut istemcisi pencerelerinin başlığında “Administrator” ibaresi geçer ve olağan çalıştırmadan farklı olarak kullanıcı dizini yerine ana sistem dizini olan “System32” altında çalışmaya başlar.


Administrator yetkileriyle başlatılan komut istemi.

Sadece Command Prompt’u değil, öteki tüm kabukları da tıpkı halde yönetici olarak çalıştırabilirsiniz.

Sistemde Hangi Kullanıcı Hesabında Olduğunuzu Öğrenme

Windows sistemlerde komut satırı ile süreç yaparken hangi kullanıcıyla birlikte süreçler yaptığımızı anlamak için whoami komutunu kullanabilirsiniz. Windows’ta yönetici hesapla süreç yaparken başka işletim sistemlerinin bilakis çıktıda rastgele bir farklılık olmaz. Yani olağan kullanıcı yetkileriyle de çalışırken, Administrator olarak da çalışırken whoami çıktısı birebirdir. Yalnızca NT AUTHORITYSYSTEM haklarında çalıştığınızda farklı bir cevap alabilirsiniz.

Olağan kullanıcı ve Administrator çıktısı:

NT AUTHORITYSYSTEM çıktısı:

Ayrıyeten whoami komutuyla bir arada /groups takısını kullanarak sistemdeki kullanıcı kümeleri hakkında da bilgiler edinebilirsiniz.

Kaynak: Technopat

Başa dön tuşu