Bilgisayarların hayatımıza girmesiyle birlikte, Windows işletim sistemiyle de tanışma fırsatı bulduk. Zaman içinde çeşitli nedenlerle, birçok kez CMD veya PowerShell araçlarına başvurduk. Ancak CMD veya PowerShell'in aslında ne olduğunu, ve onların hangi amaçlarla kullanılabileceğini derinlemesine düşünmüş olabilir miydiniz? Bu yazıda, CMD ve PowerShell hakkında akla gelebilecek ilk birkaç soruyu yanıtlayacağız.

Anlatmaya başlamadan önce, makale içerisinde kullandığım bazı terimlerin kısa açıklamalarını sizinle paylaşmak istiyorum.

WMI (Windows Management Instrumentation - Windows Yönetim Araçları): 1998 yılında piyasaya sürülen çekirdek yönetim teknolojisi olan WMI, içerdiği sınıflar sayesinde geliştirilen komut dosyalarıyla tüm Windows tabanlı işletim sistemlerinde etkili veri yönetimi sağlar.

CIM (Common Information Model - Ortak Bilgi Modeli): Bilişim teknolojileri alanında yönetilen öğelerin ortak bir kümesini ve bu öğeler arasındaki ilişkilerin temsilini tanımlayan bir standart olan CIM, kapsamlı bir bilgi yapılandırması sunar.

ISE (Integrated Scripting Environment - Entegre Komut Dosyası Ortamı): Windows tabanlı bir grafik arayüzdür. PowerShell komutlarını yürütebilir, test edebilir ve hata ayıklaması yapabilirsiniz.


CMD (Komut İstemi) Nedir?
Bilgisayarlar hayatımıza girdiğinde, Windows işletim sistemiyle birlikte CMD veya Komut İstemi ile de tanıştık. Windows arama çubuğuna "cmd" yazarsanız, karşınıza cmd.exe çıkacaktır. Peki, bu cmd.exe nedir? Aslında cmd.exe, sizin ve Windows işletim sistemi arasındaki iletişimi sağlayan bir komut yorumlayıcısıdır.

Kökeni 1981 yılında çıkan MS-DOS ile birlikte tanıştığımız Command_com'a dayanır. Ancak o dönemde MS-DOS'un grafik bir kullanıcı arayüzü (GUI) yani masaüstü yoktu, bu nedenle Command_com kullanıcı arabirimi olarak kullanılıyordu. Command_com'da kullanılan komutlar, günümüz CMD.exe'sine kıyasla daha temel ve basit özelliklere sahipti.

1993 yılında, Windows NT'nin piyasaya sürülmesiyle birlikte günümüz Komut İstemi (CMD) ile tanıştık. Bu geçiş, kullanıcıların Command_com'da bulunan tüm komutları CMD'de de kullanabilmesini sağlamak için gerçekleşti. Zaman içinde yeni komutlar eklenmiş olmasına rağmen, Command_com'a ait komutlar da CMD tarafından desteklenmeye devam etti.

CMD, kullanıcıyla etkileşim kurmak için komut satırını kullanır ve görsel bir arayüz sunmaz. Kendine özgü bir sözdizimi vardır ve bu yapıya uygun olarak klavyeden girilen komutları işler. Temelde, kullanıcının girdiği komutları alır, bu komutları makine diline çevirir ve belirli görevleri yerine getirir.

CMD'nin önemli bir özelliği, doğru komutlar bilindiği sürece, kullanıcılara işletim sistemi üzerinde daha yüksek bir kontrol seviyesi sağlamasıdır. CMD aracılığıyla işletim sistemi üzerinde çeşitli görevleri gerçekleştirmek ve özel araçlara erişmek mümkündür.

PowerShell Nedir?
PowerShell, Microsoft tarafından geliştirilmiş bir komut satırı aracıdır ve özellikle Windows işletim sistemlerine odaklanmış olsa da Linux ve MacOS gibi platformlarda da kullanılabilmektedir. Kullanıcıların bilgisayarlarını yönetmelerine ve otomasyon oluşturmalarına yardımcı olur.

Klasik komut istemine (CMD) kıyasla daha güçlü ve esnek bir araçtır. PowerShell sayesinde kullanıcılar, temel dosya ve klasör işlemlerinden sistem yapılandırmalarına ve ağ yönetimine kadar çeşitli görevleri otomatikleştirebilirler.

PowerShell'de komutları anlamak için özel .NET sınıflarına dayalı cmdlet'ler (komutlar) kullanılır. Bu cmdlet'ler, belirli işlemleri gerçekleştiren komutlardır ve isimlerinden ne işe yaradıkları kolayca anlaşılabilir. Her bir cmdlet komutu için, PowerShell içinde kullanım bilgileri ve örnekler bulunmaktadır.

İşte size birkaç örnek komut:

Get-Help *: PowerShell'de kullanılabilir tüm komutları listeler.