Nedir? Nasıl?

PowerShell ve CMD (Komut İstemi) Nedir? Arasındaki Farklar Nelerdir?

Bilgisayarların hayatımıza girmesiyle birlikte Windows işletim sistemiyle de tanıştık. Geçmişten bugüne farklı sebeplerden dolayı bir çok kez CMD veya PowerShell‘e başvurmuşuzdur. Fakat bugüne kadar CMD veya PowerShell’in tam olarak ne olduğunu veya neler için kullanılabileceğini düşünmüş müydünüz? Bu makalemizde CMD ve PowerShell’le ilgili aklınıza gelebilecek ilk bir kaç soruyu cevaplayacağız.

Anlatıma başlamadan önce makale içerisinde kullanmış olduğum bazı terimlerin kısa açıklamalarını sizinle paylaşmak istiyorum.

WMI (Windows Management Instrumentation): Türkçesi “Windows Yönetim Araçları” olan WMI, 1998 yılında piyasaya sürülmüş olan çekirdek yönetim teknolojisidir. Bünyesinde bulunan sınıflar sayesinde geliştirilen scriptlerle, tüm Windows tabanlı işletim sistemlerinde etkili veri yönetimi sağlar.

CIM (Common Information Model): Türkçesi “Ortak Bilgi Modeli” olan CIM, bilişim teknolojileri ortamında yönetilen öğelerin ortak bir kümesi ve bunlar arasındaki ilişkilerin nasıl temsil edildiğini tanımlayan ortak bir standarttır.

ISE (Integrated Scripting Environment): Windows tabanlı grafik arabirimdir. PowerShell komutları çalıştırır, test eder ve hata ayıklaması yapabilir.

PowerShell ve CMD (Komut İstemi) Nedir? Arasındaki Farklar Nelerdir?

CMD (Komut İstemi) Nedir?

Windows arama çubuğuna cmd yazarsanız karşınıza cmd.exe açılacaktır. Peki nedir bu cmd.exe? cmd.exe Windows işletim sistemiyle sizin aranızda iletişimi sağlayan bir komut yorumlayıcısıdır.

Kökeni 1981’de çıkan MS_DOS ile birlikte ilk kez karşılaştığımız Command_com‘a dayanır. Tabii o zamanlar MS_DOS’un bir grafik kullanıcı arayüzü (GUI) yani masaüstü olmadığı için Command_com kullanılabilecek tek kullanıcı arabirimiydi. Command_com’da kullanılan komutlar cmd.exe’ye göre nispeten daha basitti.

1993 yılında Windows NT‘nin çıkışıyla birlikte bugünkü Komut İstemi’yle (CMD) tanıştık. Geçişi kolaylaştırmak ve yeni işletim sistemine uyum sağlanabilmesi için Command_com’da bulunan tüm komutlar CMD’de de bulunuyordu. Her yeni sürümle yeni komutlar eklenmesine rağmen Command_com’a ait komutları da desteklemeye devam etti.

CMD, kullanıcı ile etkileşim kurmak için komut satırını kullanır ve görsel bir arayüzü yoktur. Kendine ait özel bir sözdizimi bulunur ve buna bağlı kalarak klavyeden girilen komutları girmenize izin verir. Basitçe tarafınızca iletilen komutları ve girdileri alan ve bunu makine diline çeviren bir yorumlayıcı olarak düşünebilirsiniz. Bu komutlar daha önceden tanımlanmıştır ve belirli görevleri yerine getirir.

CMD’nin önemli olmasının en büyük sebebi bizim direkt olarak işletim sistemi ile iletişime geçmemizi sağlamasıdır. Eğer doğru komutları biliyorsanız, CMD size işletim sistemi üzerinde daha yüksek bir kontrol seviyesi ve başka türlü mevcut olmayan araçlara erişmenizi sağlar.

PowerShell Nedir?

PowerShell, Microsoft tarafından geliştirilen ve özellikle Windows işletim sistemleri için tasarlanmış fakat Linux ve MacOS’ta da kullanılabilen bir komut satırı aracıdır. 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’le kullanıcılar, basit dosya ve klasör işlemlerinden, sistem yapılandırmalarına ve ağ yönetimine kadar çeşitli bir çok görevi otomatikleştirebilirler.

PowerShell’de komutları anlamak için belirli işlemleri uygulayan özel .NET sınıfları olan cmdlet’ler (telaffuz komutları) kullanılır. Cmdlet’ler (Command-let) PowerShell’e ait özel komutlardır. Cmdlet komutlarının isimlerinden hangi görev için kullanılacakları kolay bir şekilde anlaşılmaktadır. Her bir cmdlet komutu için PowerShell’de görev bilgileri ve kullanım örnekleri bulunmaktadır.

Örnek bir kaç komutu aşağıda sizinle paylaşmak istiyorum:

Get-Help *: PowerShell’de kullanabileceğiniz tüm komutların listesini verir.

Get-Service: Tüm servislerin durumunu gösterir.

Get-EventLog: Cihaza ait günlükleri yani logları görüntüler.

PowerShell WMI (Windows Management Instrumentation) ve CIM’e (Common Information Model) tam erişim sağlayarak yöneticilerin hem lokal hem de uzak sistemlerde görevlerini yerine getirmesini yardımcı olur. WMI, Microsoft’a ait iken CIM ise daha yeni bir teknoloji olup Open Standart ve Cross Platform (Windows, Linux) olduğundan dolayı tüm sistemleri desteklemektedir.

PowerShell’in en önemli özelliklerinden biri de farklı bir sisteme uzaktan bağlantı sağlamasıdır. Bu sayede sistem yöneticileri uzak bağlantı ile direkt olarak komutları bağlandığı sunucu üzerinde çalıştırabilir.

İşletmeniz için Windows 10 veya Windows Server tabanlı işletim sistemine sahip bir sanal sunucu çözümü arayışındaysanız, NVMe Sanal Sunucu paketlerimizi inceleyebilirsiniz.

PowerShell ve CMD’de Ortak Çalışan Örnek Komutlar

IP Konfigürasyonunu Görüntüleme

PowerShell:

Get-NetIPConfiguration

CMD:

ipconfig

Yeni Bir Dizin Oluşturma

PowerShell:

New-Item -ItemType Directory -Name yeni_dizin

CMD:

mkdir yeni_dizin

Dizin Listeleme

PowerShell:

Get-ChildItem

CMD:

dir

PowerShell ve CMD Arasındaki Farklar Nelerdir?

PowerShellCMD (Command Prompt)
Kökeni 2006 yılına dayanmaktadır.Kökeni 1981 yılına dayanır.
Hem batch komutlarını hem de cmdlet
komutlarını destekler.
Yalnızca batch komutlarını destekler.
Script’ler veya cmdlet’ler için değişken
tanımlaması yapabilir.
Değişken tanımlaması yapmayı desteklemez.
Bir cmdlet çıktısı başka bir cmdlet’e
aktarılabilir.
Bir komut çıktısı başka bir komuta
aktarılmaz.
.Net sınıflarını kullanabildiği için programlama
kitaplıklarına erişimi vardır.
Kitaplıklara erişimi bulunmaz.
ISE grafik arabirimi sayesinde komutlar
çalıştırabilir, script yazabilir, bunları test
edebilir ve hata ayıklaması yapabilir.
Bir grafik arabirimi yoktur. Yalnızca
komut satırı arabirimi bulunur.
WMI ve CIM’e tam erişim sağlar.WMI erişimi yapabilmesi için ek eklentiler
kullanması gerekir.
Windows, Linux ve MacOS platformları
destekler.
Yalnızca Windows platformları destekler.
Her türlü programı kullanabilir.Yalnızca konsol programlarını çalıştırabilir.
Çıktılar nesne (object) biçimindedir.Çıktılar yalnızca yazı (text) biçimindedir.
Windows üzerinde yapılan işlemleri
otomatize edebilir.
Yalnızca girilen komutları çalıştırabilir.
Farklı bir sisteme uzaktan bağlantı yapabilir.
Uzak bağlantı kurarak komutları bağlandığı
sunucu üzerinde çalıştırabilir.
Yerel olarak kullanılabilir. Uzak bağlantı özelliği
yoktur.
Subscribe
Bildir
guest
0 Yorum
Inline Feedbacks
View all comments