Yeni başlayanlar için PowerShell

PowerShell ile çalışırken ilk karşılaştığımız şey komutlardır (Cmdlet'ler).
Komut çağrısı şöyle görünür:

Verb-Noun -Parameter1 ValueType1 -Parameter2 ValueType2[]

Destek

PowerShell'deki yardıma Get-Help komutu kullanılarak erişilir. Parametrelerden biri belirtilebilir: örnek, ayrıntılı, tam, çevrimiçi, showWindow.

Get-Help Get-Service -full, Get-Service komutunun çalışmasının tam açıklamasını döndürür
Get-Help Get-S*, Get-S* ile başlayan tüm mevcut komutları ve işlevleri gösterecektir.

Resmi Microsoft web sitesinde de ayrıntılı belgeler bulunmaktadır.

İşte Get-Evenlog komutu için bir örnek yardım

Yeni başlayanlar için PowerShell

Parametreler köşeli parantez [] içine alınmışsa, bunlar isteğe bağlıdır.
Yani, bu örnekte, günlüğün kendisinin adı gereklidir ve parametrenin adı gereklidir. HAYIR. Parametre türü ve adı birlikte parantez içine alınmışsa, bu parametre isteğe bağlıdır.

EntryType parametresine bakarsanız, süslü parantez içine alınmış değerleri görebilirsiniz. Bu parametre için kaşlı ayraçlar içinde sadece önceden tanımlanmış değerleri kullanabiliriz.

Parametrenin gerekli olup olmadığı ile ilgili bilgi, Gerekli alanında aşağıdaki açıklamada görülebilir. Yukarıdaki örnekte, Required false olarak ayarlandığından After özniteliği isteğe bağlıdır. Ardından, Adlandırılmış yazan Pozisyon alanını görüyoruz. Bu, parametreye yalnızca adıyla başvurabileceğiniz anlamına gelir, yani:

Get-EventLog -LogName Application -After 2020.04.26

LogName parametresi Named yerine 0 rakamına sahip olduğundan, bu, parametreye bir ad olmadan, ancak istenen sırada belirterek başvurabileceğimiz anlamına gelir:

Get-EventLog Application -After 2020.04.26

Bu sırayı varsayalım:

Get-EventLog -Newest 5 Application

Takma ad

Konsoldan olağan komutları PowerShell'de kullanabilmemiz için takma adlar (Alias) vardır.

Set-Location komutu için örnek bir takma ad cd'dir.

Yani, komutu çağırmak yerine

Set-Location “D:”

kullanabiliriz

cd “D:”

Tarihçe

Komut çağrılarının geçmişini görmek için Get-History'yi kullanabilirsiniz.

Geçmişten yürütme komutu Çağırma-Geçmiş 1; Geçmiş 2'yi Çağır

Geçmişi Temizle

Boru Hattı

Powershell'deki bir ardışık düzen, birinci işlevin sonucunun ikinciye iletildiği zamandır. İşte boru hattını kullanan bir örnek:

Get-Verb | Measure-Object

Ancak boru hattını daha iyi anlamak için daha basit bir örnek ele alalım. bir takım var

Get-Verb "get"

Get-Help Get-Verb -Full help çağırırsanız Verb parametresinin pipline girdisi aldığını ve ByValue parantez içinde yazıldığını görürüz.

Yeni başlayanlar için PowerShell

Bu, Get-Verb "get"i "get" | GetVerb.
Yani, ilk ifadenin sonucu bir dizedir ve Get-Verb komutunun Verb parametresine pipline girişi aracılığıyla değere göre iletilir.
Ayrıca boru hattı girişi ByPropertyName olabilir. Bu durumda, Verb ile benzer bir isme sahip bir özelliği olan bir nesneyi ileteceğiz.

Değişkenler

Değişkenler kesinlikle yazılmaz ve önünde $ ile belirtilir.

$example = 4

> sembolü, verileri girmek anlamına gelir
Örneğin, $ornek > Dosya.txt
Bu ifade ile $example değişkenindeki verileri bir dosyaya koyacağız.
Set-Content -Value $example -Path File.txt ile aynı

Diziler

Dizi başlatma:

$ArrayExample = @(“First”, “Second”)

Boş dizi başlatma:

$ArrayExample = @()

Dizine göre değer alma:

$ArrayExample[0]

Tüm diziyi alın:

$ArrayExample

Bir eleman eklemek:

$ArrayExample += “Third”

$ArrayExample += @(“Fourth”, “Fifth”)

Sıralama:

$ArrayExample | Sort

$ArrayExample | Sort -Descending

Ancak dizinin kendisi bu sıralamada değişmeden kalır. Dizinin sıralanmış verilere sahip olmasını istiyorsak, sıralanmış değerleri atamamız gerekir:

$ArrayExample = $ArrayExample | Sort

PowerShell'de bir diziden bir öğeyi kaldırmanın bir yolu yoktur, ancak bunu şu şekilde yapabilirsiniz:

$ArrayExample = $ArrayExample | where { $_ -ne “First” }

$ArrayExample = $ArrayExample | where { $_ -ne $ArrayExample[0] }

Bir diziyi kaldırma:

$ArrayExample = $null

Döngüler

Döngü sözdizimi:

for($i = 0; $i -lt 5; $i++){}

$i = 0
while($i -lt 5){}

$i = 0
do{} while($i -lt 5)

$i = 0
do{} until($i -lt 5)

ForEach($item in $items){}

Break döngüsünden çıkın.

Devam öğesini atlayın.

Koşullu İfadeler

if () {} elseif () {} else

switch($someIntValue){
  1 { “Option 1” }
  2 { “Option 2” }
  default { “Not set” }
}

işlev

Fonksiyon tanımı:

function Example () {
  echo &args
}

İşlev başlatma:

Example “First argument” “Second argument”

Bir işlevde argüman tanımlama:

function Example () {
  param($first, $second)
}

function Example ($first, $second) {}

İşlev başlatma:

Example -first “First argument” -second “Second argument”

Istisna

try{
} catch [System.Net.WebException],[System.IO.IOException]{
} catch {
} finally{
}

Kaynak: habr.com

Yorum ekle