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

Adanali

Member
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 birlikte 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 formunu söz eden katmanlar. Kullanıcıların en epey 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ınca geliştirilip birinci vakit içinderda Aralık 1987 yılında kullanıcılara sunulan komut istemcisidir. OS/2, MS-DOS, Windows ve ReactOS tarafınca var iseyı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ınca Command Prompt’a alternatif olarak geliştirilen; epeyce daha kuvvetli, 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 birlikte gelen PowerShell’i kullanarak sistemde yetenekleriniz ölçüsünde neredeyse her şeyi yapabilirsiniz. PowerShell beraberinde var iseyı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) takviyeli yenilikçi bir komut istemci uygulaması. çok ç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 var iseyı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ı hallerde ulaşabilirsiniz:

  • Windows Search hizmetinden faydalanarak “cmd” yahut “komut istemi” (tırnaklar olmadan) sözlerini aratıp karşımıza çıkan “Komut İstemi” kararına tıklayarak.
  • Çalıştır hizmetini açıp “cmd” (tırnaklar olmadan) girerek “Tamam” butonuna basarak.
  • C:WindowsSystem32 dizininin altında bulundan cmd.exe belgesini çalıştırarak.
Ben aşağıdaki ekran imajında “Ç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ınca daha kuvvetli özelliklere sahip yetenekli bir kabuk yapısı olarak geliştirilen PowerShell’e de üç biçimde ulaşabilirsiniz.

  • Windows Arama hizmetinden faydalanarak “PowerShell” sözünü aratıp karşımıza çıkan “PowerShell” kararına tıklayarak.
  • Çalıştır hizmetini açıp “powershell” (tırnaklar olmadan) girerek “Tamam” butonuna basmak.
  • C:WindowsSystem32WindowsPowerShellv1.0 yolunda bulunan “powershell.exe” belgesini ç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 bir daha birebir biçimde kvakası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 birlikte 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. çabucak sonrasında başlat menüsünden yahut Windows Search hizmeti sayesinde bulup çalıştırabilirsiniz.



Eski Windows sürümlerinin bilakis yeni olan Windows 10 üzere sistemlerde kullanıcı yetkileri güvenlik niçinlerinden ötürü fazlaca daha fazla ehemmiyet arz etmekte. Bu niçinle 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 sadece “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 biroldukca değişiklik yapabilirdi yahut güvenlik manasında önemli külfetler 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 özetlemek gerekirse değinelim.

Olağan bir Windows kullanıcısı olarak sistem haklarına geçmek için Privilege Escalation formlarından yaralanmak 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 kusurlar ve güvenlik açıklarından faydalanılarak bir üst yetkili kümeye geçişi tabir ediyor. Windows sistemlerde birkaç biçimde hak yükseltebilirsiniz. Bu prosedürlerden birkaçı:

  • Çeşitli güvenlik açıkları, zafiyetlerden yaralanmak. 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 hususlardan neredeyse hiç birinin son kullanıcının uygulayabileceği kadar kolay olmadığını biliyoruz. Ama 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 prosedürü kullanmak için evvela Administrator yetkilerinde bir kullanıcı hesabına sahip olmalısınız.

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

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

Olağan Windows kullanıcıları genel itibariyle hiç bir vakit sistem haklarında çalışmaya gereksinim duymayacakları için, bu ve bu seri altında yayınlacak olan daha 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. sonrasındasında 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.

Sırf Command Prompt’u değil, başka tüm kabukları da birebir biçimde 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 öbür 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 karşılık alabilirsiniz.

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


NT AUTHORITYSYSTEM çıktısı:



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