October 7, 2022
powershell

En Çok Kullanılan Powershell Komutları

Bu geniş makalede  PowerShell komutlarını göreceğiz ve Powershell içerisinde en çok kullanılan powershell komutlarının neler olduğuna tek tek bakacağız. Powershell komutları tabiki aşağıdaklerle sınırlı değil. Binlerce onbinlerce hatta yüzbinlerce powershell komutu ve parametresi bulunuyor. Fakat aşağıdaki komutlar Windows Powershell üzerinde en fazla kullanılan komutları içermektedir.

Buradan Powershell Nedir öğrenebilir, ayrıca Powershell ile ilgili tüm yazılarıma buradan ulaşabilirsiniz.

Powershell komutları
En çok kullanılan powershell komutları

1- Get-command

Get-Command, mevcut oturumunuzda kullanabileceğiniz tüm komutları getiren, kullanımı kolay bir referans cmdlet’idir.

Basitçe şu komutu yazın:

2- Get-Help

Get-Help komutu, PowerShell kullanan herkes için gereklidir ve mevcut tüm komutlarla çalıştırmak ve çalışmak için ihtiyaç duyduğunuz bilgilere hızlı erişim sağlar.

3- Set-ExecutionPolicy ve Get ExecutionPolicy

Microsoft, kötü amaçlı komut dosyalarının PowerShell ortamında yürütülmesini önlemek için komut dosyası oluşturmayı varsayılan olarak devre dışı bırakır. Ancak IT Pro ve Developerlar, komut dosyaları yazabilmek ve yürütebilmek isterler, bu nedenle Set-ExecutionPolicy komutu, PowerShell komut dosyalarını çevreleyen güvenlik düzeyini kontrol etmenizi sağlar. Dört güvenlik seviyesinden birini ayarlayabilirsiniz:

  • Restricted: Bu, PowerShell komut dosyalarının çalışmasını engelleyen varsayılan güvenlik düzeyidir. Bu güvenlik seviyesinde, komutları yalnızca etkileşimli olarak girebilirsiniz.
  • AllSigned: Bu güvenlik düzeyi, yalnızca güvenilir bir yayıncı tarafından imzalanmışlarsa komut dosyalarının çalışmasına izin verir.
  • Remote Signed: Bu güvenlik düzeyinde, yerel olarak oluşturulmuş tüm PowerShell komut dosyalarının çalışmasına izin verilir. Uzaktan oluşturulan komut dosyalarının yalnızca saygın bir yayıncı tarafından imzalanmış olmaları durumunda çalıştırılmasına izin verilir.
  • Unrestricted: Adından da anlaşılacağı gibi, sınırsız güvenlik seviyesi, yürütme politikasındaki tüm kısıtlamaları kaldırarak tüm komut dosyalarının çalışmasına izin verir.

Eğer bilmediğiniz bir ortamda çalışıyorsanız, şu komutu kullanarak mevcut yürütme politikasının ne olduğunu kolayca öğrenebilirsiniz.

 

4- Get-Service

Sistemde hangi hizmetlerin (servislerin) yüklü olduğunu bilmek de yararlıdır. Bu bilgilere aşağıdaki komutla kolayca ulaşabilirsiniz.

Belirli bir hizmetin kurulu olup olmadığını bilmeniz gerekiyorsa, -Name anahtarını ve hizmetin adını ekleyebilirsiniz; Windows hizmetin durumunu gösterecektir. Ek olarak, şu anda kurulu hizmetlerin belirli bir alt kümesini döndürmek için filtreleme yeteneklerinden yararlanabilirsiniz. Aşağıdaki örnek, Stopped durumda olan tüm servisleri listeyelecektir

5-Convertto-Html

Bir raporda kullanabileceğiniz veya başka birine gönderebileceğiniz verileri çıkarmanız gerekiyorsa, ConvertTo-HTML bunu yapmanın basit bir yoludur. Bunu kullanmak için, başka bir komutun çıktısını ConvertTo-HTML komutuna aktarın ve HTML dosyasında hangi çıktı özelliklerini istediğinizi belirtmek için -Property anahtarını kullanın. Ayrıca bir dosya adı sağlamanız gerekir.

Aşağıdaki örnekte tüm servisleri html formatına çevirip sonra kaydettiğimiz dosyayı çağıralım.

6- Get-EventLog

Get-EventLog cmdlet’ini kullanarak makinenizin olay günlüklerini ayrıştırmak için PowerShell’i  kullanabilirsiniz. Birkaç parametre mevcuttur. Belirli bir günlüğü görüntülemek için -Log anahtarını ve ardından günlük dosyasının adını kullanın. Örneğin, Uygulama günlüğünü görüntülemek için aşağıdaki komutu kullanırsınız.

7. Get-Process

Kullanılabilir hizmetlerin bir listesini almak gibi, o anda çalışan tüm processlerin hızlı bir listesini alabilmek genellikle yararlıdır. Get-Process komutu bu bilgiyi parmaklarınızın ucuna getirir.

Ayrıca: Donmuş veya artık yanıt vermeyen işlemleri durdurmak için Stop-Process kullanın. Hangi sürecin sizi engellediğinden emin değilseniz, sorunlu süreci hızlı bir şekilde belirlemek için Get-Process‘i kullanın. process adı veya id ile, sonlandırmak için stop-process kullanır.

Aşağıdaki komut açık olan Notepad uygulamalarını kapatır.

8- Clear-History

Komut geçmişinizden girdileri silmek isterseniz ne yapmalısınız? Son derece kolay – Clear-History cmdlet’ini kullanın. Yalnızca belirli komutları silmek için de kullanabilirsiniz.

Eğer bir powershell session içerisinde çalıştığınız komut geçmişini görmek isterseniz aşağıdaki komutu kullanmalısınız.

9- Where-Object

Where-Object , bir veri kümesi almanızı ve filtreleme için ardışık düzeninizde iletmenizi sağladığından, bilinmesi gereken en önemli cmdlet’lerden biridir.

Örneğin aşağıdaki komut where-object ile “running” durumda olan tüm servisleri listeler

10- Set-Alias

Set-Alias, üretkenliği artırmak için harika bir komuttur. Geçerli oturumda (klavye kısayoluna benzer) bir cmdlet veya başka bir komut öğesi için bir takma ad ayarlamanıza olanak tanır, böylece çok daha hızlı çalışabilirsiniz.

Aşağıdaki örnekte , Set-Alias kullanarak geçerli oturumda Not Defteri’ni np alias’ı kullanarak çağırablirsiniz.

11- Get-ChildItem

Get-ChildItem belirli bir konumdaki öğeleri alır. Örneğin C sürücümdeki klasörleri listelemek için aşağıdaki komutu çalıştıracağım:

Bu, tüm üst düzey klasörleri listeler. Tüm dosyaları listelemek için, alt klasörler içeren klasörler –Recurse parametresini kullanır

 

12- Copy-Item and Move-Item

Bir klasördeki öğeleri listelemek için Get-ChildItem Cmdlet’ini kullanabilir, ardından öğeleri yeni bir konuma kopyalamak için sonucu Copy-Item Cmdlet’e aktarabilirsiniz. Aşağıdaki komut işi yapacak:

 

13. Test-Path

test-Path, öğelerin belirtilen bir pathde olup olmadığını doğrulamanıza imkan tanır. Örneğin, belirli bir dosya üzerinde başka bir komut kullanmayı planlıyorsanız, bir hata oluşmasını önlemek için dosyanın var olduğunu doğrulamanız gerekebilir.

Klasör varsa, True döndürür; değilse, False döndürür.

 

14-Powershell CD

Powershell change directory ya da diğer bilinen adıyla powershell cd komutu. Powershell built-in olarak aliasları içerisinde cd komutunu barındırır ve directory değiştirmek için cd kullanılır. Fakat orjinal olarak powershell de cd (change directory komutu) Set-Location dır.

 

15-Start-Sleep

Bir komut dosyasında veya oturumda etkinliği askıya almanız gerekiyorsa, etkinliği belirli bir süre boyunca durduran Start-Sleep komutunu kullanırız.

Bonus

Bu cmdlet, yerel bir bilgisayar ile domain arasındaki bağlantıyı test eder ve onarır. Bu komut olmadan önce client ile domain arasındaki bağlantıyı onarmak için sunucu veya clientı domainden çıkarır ve tekrar alırdık. Test-ComputerSecureChannel komutu, bağlantıyı daha kısa sürede yeniden kurmayı mümkün kılar.

Yönetici olarak oturum açtığınızda aşağıdaki komutu çalıştırmanız yeterlidir.

Bu uzun ve geniş makalede tek tek en çok kullanılan powershell komutları değerlendirmesi yaptık.

One thought on “En Çok Kullanılan Powershell Komutları

  1. Powershell ile program kaldırma

    […] En Çok Kullanılan Powershell Komutları […]

Bir cevap yazın

E-posta hesabınız yayımlanmayacak.