Hurriyet

powershell etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
powershell etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

29 Mayıs 2014 Perşembe

PowerShell: Ders 5 - Tutorial - PowerShell Variables - Değişkenler

PowerShell'de :

-Değişkenler: Bilgiyi tuttuğumuz yerler
-Diziler: İndex'li veriyi saklamamızı sağlar.
-Hash Table: Çiftler halinde veriyi tutmamızı sağlar.

Değişkenler:

Script'in içinde kullanılacak bilgileri, ya da script'in sonunda çıkacak sonuçların tutulmasını sağlar. Bu bilgiler text, string, integer veya object bile olabilir.

Değişken Tipleri:

Değişken tiplerini görmek için "get-help about_automatic_variables" komutunu çalıştırabiliriz.

PowerShell'de bütün değişken isimleri "$" karakteriyle başlamalıdır. Bir değişken atamasına örnek olarak:

>$isim="Berke"

Aynı zamanda Set-Variable cmdlet'i de bulunmaktadır değişken ayarlamak için.

>Set-Variable -Name x -Value "abc"

Değişken tipleri
TypeDescription
[int]32-bit signed integer
[long]64-bit signed integer
[string]Fixed-length string of Unicode characters
[char]A Unicode 16-bit character
[byte]An 8-bit unsigned character
[bool]Boolean True/False value
[decimal]An 128-bit decimal value
[single]Single-precision 32-bit floating point number
[double]Double-precision 64-bit floating point number
[xml]Xml object
[array]An array of values
[hashtable]Hashtable object

String Birleşimi(Concatenation)

$x="a"
$y="b"
$z=$x+$y
echo $z

Sayılar:

PowerShell'de değişkenler içlerinde sayı olup olmadığını veya text olup olmadığını anlamakla beraber değişkenleri cast ederek de atayabiliriz.

Örnek:

[string]$a="deneme"
[int]$x=12
[decimal]$y=8.7
 
PowerShell Operatörleri

= : Eşitleme
+ : Toplama
- : Çıkarma
* : Çarpma
/ : Bölme
% : Mod

İşlem yapmak için parantezler kullanılabilinir, böyle işlem sırası belirtilebilinir.

Diziler:

Array örneği olarak:

Array tanımı aşağıdaki gibidir.

$sayilar=@(1,2,3,4)

Arrayi direk görmek için:

$sayılar

Array içerisindeki değerleri görmek için (İlk değer 0'dan başlar. Yani $sayilar[0]=1)

$sayilar[0]



27 Mayıs 2014 Salı

PowerShell: Ders 4 - Tutorial - Parametreler - Cmdlet Opsiyonları

Ortak Parametreler:

  • -whatif – Cmdlet komutu gerçekten çalıştırılmaz ancak çalıştırılırsa ne olacağı gösterilir.
  • -confirm - Kullanıcıyı çalıştırmadan önce uyarır.
  • -Verbose - Daha fazla detay verir.
  • -debug - Debug bilgisi verir.
  • -ErrorAction - Cmdlet  komutuna sorun ile karşılaşıldığında ne yapılacağını söyler. Örnek olarak: continue, stop, silently continue, and inquire.
  • -ErrorVariable - Hata durumunda hatanın hangi değişkende tutulacağını gösterir. Standard  $error değişkenine ektir.
  • -OutVariable - Sonuç olarak ekrana basılan bilgiyi kaydedecek olan parametre opsiyonudur.
  • -OutBuffer - Belirli sayıda nesne değerini tutar.

Örnek: -Whatif parametresinin aşağıdaki kullanımına bakaraktan bir komutun kullanılması halinde hangi işlemlerin yapılacağını göstermektedir. Belirli process'lerin kapatılmasıyla sonuçlanacak bir çıktı ile sonuçlanacaktır.


Komutlar ve Pipe Kullanımı: 

Komutlar arka arkaya kullanılmak istendiğinde aşağıdaki şekilde kullanılmalıdır bunun için aralarına ";" koymak yeterlidir.


Ancak eğer komutların birbirlerinin ürettikleri sonucu kullanmalarını istiyorsak aralarına pipe("|") koymalıyız.


Pipe koyduğumuzda çıkan her sonuç için pwd komutunu çalıştırmış oluruz. Yani dir'den çıkan sonuçları pwd içine koymuş oluruz.

PowerShell: Ders 3 - Tutorial - PowerShell Alias

PowerShell'de alias kullanımı mümkündür. Unix ve Linux ortamlardan alışık olduğumuz cd, mv, pwd gibi komutlar PowerShell'de cmdlet komutlarının alias'ı şeklinde tanımlanmıştır. Örneğin mv komutu move-location adlı cmdlet programının kısa adıyken dir de get-location adlı cmdlet programının alias'ıdır.

Kullanıcı Tarafından Alias Belirlenmesi:

"Set-Alias alias_adı komut" şeklinde alias belirlenebilir.

Örnek

"Set-alias gs get-service" diyip gs komutunu girersek bütün servisleri görürüz.

Ancak bu alias'lar kalıcı olmazlar kalıcı yapmak için 2 tane yöntem vardır.

Alias'ları sürekli export-import  edebiliriz ya da PowerShell profillerine

Alias'lar Nasıl Export ve Import Edilir?

export-Alias C:\Users\Desktop\Alias.txt
import-alias C:\Users\Desktop\Alias.txt

PowerShell Profillerinde Alias Tanımlamak:

PowerShell profilleri kısaca her session başladığında çalıştırılan bir script'dir. Profillerin nerede olduğunu aşağıdaki komutumuzla görebiliriz. Kısaca PROFILE değişkeninin değeri sorguluyoruz.

Örnek:

PS C:\Users> echo $PROFILE
C:\Users\IS96626\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1

Yukarıdaki dokümanı editlememiz gerekmektedir.

Bu dosyaya gidip "Set-alias gs get-service" komutunu yazarsak her session açışımızda bu komut dosyası çalışacak ve alias'ımızı oluşturacaktır.

Execution Haklarını Görmek ve Değiştirmek:

"Get-ExecutionPolicy" ile script dosyasının haklarını görebiliriz.
"Set-Execution Policy" ile script çalıştırılma şeklini aşağıdaki versiyonlara değiştirebiliriz.


Restricted – Çalıştırılamaz
AllSigned – Bütün scriptler güvenilir(kayıtlı) bir kullanıcı tarafından imzalı olmalıdır.
RemoteSigned – Bütün scriptler güvenli bir yerden indirilmiş olması gerekir.
Unrestricted – Bütün scriptler çalıştırılabilinir.


PowerShell: Ders 2 - Tutorial - PowerShell Komutları

4 tip PowerShell komutu bulunmaktadır. Bunlar: Cmdlet(Command-Let), PowerShell Fonksiyonları, PowerShell Script'leri ve native Windows komutları.

Bunlardan cmdlet'i bu yazıda inceleyeceğiz.

Cmdlet - İsimlendirme Standartı

Bu komutlar bir fiil bir isim olacak şekilde oluşturulmaktadır. Aşaüıdaki komutla  bütün cmdlet tipindeki komutları görebiliriz.

"get-command -Commandtype cmdlet"

Bu komutlar içerisinden içinde "Get" geçenleri bulmak istersek:

"get-command -verb get"

Komutu içerisinde Service adı geçen komutları görmek istersek de:

"get-command -noun service"

Cmdlet'lerin Kullanımı:

Cmdlet'lerin kullanımına örnek vermek için "Service" komutunu kullanacağız. Sistemimizde çalışan servisleri görmek için "get-service" komutunu kullanırız.


Bu komutun çıktısının aynısını "Services" ekranından da görebiliriz.



Burada yer alan herhangi bir servisi açıp kapamak için stop-service veya start-service komutunu kullanabiliriz.

Örnek:

Başlatmak için: start-service -name Browser
Durdurmak için: stop-service -name Browser
Durumunu görmek için: get-service -name Browser

PowerShell: Eğitim Başlangıcı - Ders - Tutorial

PowerShell'in kullanımı hakkında son zamanlarda bilgi ihtiyacım oldu. Microsoft ortamında çalışan Oracle Application Server'larından dolayı buralarda programlama yapma gereksinimim oldu. Microsoft Server'larındaki OBIEE ve Hyperion Server'larımızın operasyonel olarak hazır hale getirilmesi için hazırda varolan komutların uygun algoritmalarla birleştirilmesi lazımdı. Bu sebeplerden dolayı PowerShell ile programlamaya giriş yapmak istedim.

PowerShell Nedir?

PowerShell bir scripting dilidir. Grafik arayüzüne sahip değildir. Konsoldan çalıştırılır. Her şeyin grafik ortama tıkılı kaldığı yerlerde oldukça yardımcı olmaktadır.

PowerShell'i Çalıştırmak:

PowerShell her türlü Windows Server'da bulunmamaktadır. Windows 2008 Server'da standart olarak gelirken diğerlerine yüklenmesi gerekmektedir. Buraya Startup>Accessories>Windows Power Shell altından girebiliriz.


PowerShell'e girdiğimiz an  komut satırının başında PS yazacaktır. Buradan da PowerShell kullandığımızı anlayabiliriz ve herhangi bir komut ekranında olmadığımızı görebiliriz. Normal cmd'nin üzerine geliştirildiği için eskiden var olan komutlar burada da yer almaktadır.

Uygulamada var olan isimleri kısaltılmış komutları görebilmek için aşağıdaki komutu gireriz.

Get-Alias

PowerShell'deki komutlarda büyük küçük harf ayrımı yapılmamaktadır. (Yani Get-Alias=geT-ALIas)
Cmdlets olarak belirtilen şeyler ise asıl gömülü komutlardır. Bu komutlara referans yapan alias'lar (takma isimler) olabilir. Örneğin cd(change directory) komutu Set-Location komutunun alias'ıdır.

Gömülü Bütün Komutları Bulmak:

Gömülü bütün komutları bulmak için "Get-Command" adlı komutu çalıştırmamız yeterlidir. Bununla birlikte gelen komutun nasıl kullanıldığını öğrenmek için "get-help komut-ismi" şeklinde bir syntax kullanabiliriz.

Örnek olarak aşağıdaki komutun(cd) nasıl kullanıldığını görmek için get-help komutunu kullanabiliriz.
get-help cd

Ekranın daha düzgün bir çıktısını yapmak için
 Get-Help cd | Format-List

Kısayollar:


Page Up – Geçmişteki ilk komuta gider.
Page Down – Geçmişteki en son komuta gider.
Up Arrow – Geçmiş komutlardan bir sonrakine gider.
Down Arrow – Geçmiş komutlardan bir öncekine gider.
Home – Komut satırının en başına gider.
End – Komut satırının en sonuna gider.
Ctrl+LeftArrow – komut satırındaki cursor'ın solundaki kelimeye erişilir.
Ctrl+RightArrow – komut satırındaki cursor'ın sağındaki kelimeye erişilir.
Tab – Komutu tamamlar.
F7 – Geçmiş komutları gösterir.