VSCode icinde Azure CloudShell Kullanimi

Azure Cloud Shell ile Azure Portal icinde Full PowerShell deneyimi ile kaynaklarinizi yonetebilirsiniz.
Hatta ve hatta tum bakim, onarim, guncelleme vs. islerini de Microsoft’a birakarak! Kulaga hos geliyor degil mi? Bence de!
Cloud Shell’in en can alici ozelligi, icinde onlarca tool barindirmasi. Terraform, ansible, git basta olmak uzere ihtiyac duyacaginiz onlarca arac en guncel halleriyle Cloud Shell icinde. Peki ben bu araclari kullanmak istedigimde surekli Azure Portal icine mi gitmem gerekiyor?
Hayir elbette. VScode kullanmayi seviyorsaniz o zaman isiniz kolay. Asahgidaki adimlari izleyerek VSCode icinde Azure Cloud Shell kullanabilirsiniz.
Oncelikle eklentiler bolumunden “Azure Account” isimli eklentiyi yukleyelim.

Akabinde F1 tusuna basarak “Cloud Shell” yazarsak zaten asagidaki ekran belirecektir. Buradan “Azure: Open PowerShell in Cloud Shell” secenegini seciyoruz.

Eger ilk kez kullaniyorsaniz once Azure icin kimlik dogrulamasi gerekecektir.

Kimlik dogrulamanin hemen ardindan Cloud Shell acilacak ve kullanima hazir olacaktir.

Evet, Cloud Shell Rocks!
Cloud Shell ile ilgili diger yazilara asagidaki linkten ulasabilirsiniz.
http://www.towershell.com/?s=cloud+shell

Continue Reading VSCode icinde Azure CloudShell Kullanimi

Microsoft Ignite 2019’u Degerlendirdik


10 Kasim Pazar gunu, Onur ve Mustafa arkadaslarimla Microsoft Ignite 2019’da paylasilan carpici yenilikleri degerlendirdik.
Demo’larla zenginlestirdigimiz bu teknik sohbette, Azure, PowerShell ve diger bir cok service gelen yenilikleri degerlendirdik.
Video kaydina buradan ulasabilirsiniz.

Sunum ise burada
[slideshare id=192096985&doc=msignite2019-191110201509]

Continue Reading Microsoft Ignite 2019’u Degerlendirdik

PowerShell 7 Yeni Ozellikler – Ternary Operator – Uclu Operator

PowerShell 7 ile birlikte daha once de yapabildigimiz bazi seyleri cok daha kolay yapabiliyoruz artik. Mesela, bir ifadenin dogru olup olmamasina gore alinacak iki farkli aksiyonu tanimlamak icin genellikle IF-ELSE kosullamasina igityac duyariz ancak bunu artik PS7 ile tek satirda ve cok daha hizli yapabiliriz. Nasil mi? Ternary operator ile. Adindan da anlasilacagi gibi bu operator uc bolumden olusuyor. Kosul, kosulun karsilandigi durumdaki aksiyon ve kosulun karsilanmadigi durumdaki aksiyon.
KOSUL ? KosulDogruysaAlinacakAksiyon : KosulYanlissaAlinacakAksiyon
Bunu simdi bir ornekle pekistirelim.
$sayi = 5 olsun.
Bu durumda;
[crayon]
$sayi -gt 6 ? (Write-Host “sayi 5’ten buyuk”) : (Write-Host “sayi 5’ten kucuk”)
[/crayon]
Yani, eger ilk kisimda verilen kosul $true degeri donduruyorsa o zaman “:” isaretinin solundaki aksiyon alinir, $false donuduruyorsa ise sag tarafindaki. Bizim durumumuzda 5 sayisi 6’dan buyuk olmadigi icin “:” isaretinin sag tarafindaki aksiyon alindi ve ekrana “sayi 5’ten kucuk” yazdirildi. Tipik bir IF-ELSE kosullandirmasiyla da bunu cozebilirdik ancak bu cok daha basit ve kullanisli.

Continue Reading PowerShell 7 Yeni Ozellikler – Ternary Operator – Uclu Operator

PowerShell 7 ForEach Parallel Opsiyonu ile Hiziniza Hiz Katin!

PowerShell 7 ile birlikte Foreach-Object icin “-Parallel” ozelligi geldi. Bu ozellik ile foreach dongusu icinde ayni anda yani paralleled birden fazla islemi yaptirmak mumkun olabiliyor. Bu da hiz acisindan inanilmaz performansli. Elbette her durum icin uygun olmayabilir ancak birbirinden bagimsiz islemleri hizli bir sekilde yaptirmak isterseniz ve kaynaklariniz da bunun icin elverisliyse o zaman Paralel kullanimini dusunebilirsiniz.
Bunu bir ornekle ele alalim oyleyse.
Once Paralel ozelligini kullanmadan deneyelim ve islemlerin birer birer ve sirayla yapildigina dikkat edelim.

Simdi de parallel ozelligini devreye alalim ve throttle limit ozelligi ile maksimum CPU core destegini kullanalim. 100 vermemin sebebi zaten sistemdeki olabilecek maksimum core adedinin kullanilmasini saglamak. Zaten PowerShell sadece olabilecek en yuksek rakami kullanacak ve gerisini systemin calisabilmesi icin isletim sistemine birakacaktir.

Fark inanilmaz!
Bir de Paralel kullanimi ile islemlerin topluca, ayni anda paralleled ve daginik bir sirayla yapildigina dikkat edelim. Bunu da su ornekle gostereyim.

Continue Reading PowerShell 7 ForEach Parallel Opsiyonu ile Hiziniza Hiz Katin!

PowerShell 7 Yeni Ozellikler – Concise Error Views – Sade ve Daha Anlasilabilir Hata Mesajlari

Hata mesajlari her zaman anlasilmasi guc mesajlardir. PowerShell 7 ile gelen bu ozellik sayesinde hata mesajlarini rafine edebilir ve gereksiz kisimlari elimine ederek daha “anlasilir” hale getirebilirsiniz.
$ErrorView adli sistem desgiskenine yeni bir deger daha geliyor (ConciseView). Boylece $ErrorView=”ConciseView” komutuyla daha rafine ve dhaa anlamli hata mesajlari alinabiliyor.

Continue Reading PowerShell 7 Yeni Ozellikler – Concise Error Views – Sade ve Daha Anlasilabilir Hata Mesajlari

PowerShell 7 Yeni Ozellikler – Degisken degeri atamalarinda Tab tusu kullanimi

Bence bu da oldukca faydali bir ozellik. $DebugPreference gibi sistem degiskenlerinin degerlerini atarken hangi degerlerin gecerli deger olarak kabul edildigini tahmin etmek cok da kolay degil. Bu sayede TAB tusu sayesinde gecerli degerler bir bir listelenir ve uygun olani secebilirsiniz.
Buna ornek olarak $DebugPreferences kullaniminda test edebiliriz.

Continue Reading PowerShell 7 Yeni Ozellikler – Degisken degeri atamalarinda Tab tusu kullanimi

PowerShell 7 Yeni Ozellikler – Null condition operators – Null deger kontrolu

Bir degiskenin $null degere sahip olmadigini pipeline icinde kontrol etmeye yarar.
Asagidaki ornekte $degisken isimli degiskenin degerini once $null olarak belirliyoruz. Sonra, $degisken isimli degiskenin degerinin $null oliup olmadigini “??” ile kontrol ettiriyoruz. Son ornekte ise, eger $degisken isimli degiskenin degeri $null degerine esitse o zaman ona deger olarak “yeni deger” degerini atiyoruz. Bunu da ‘??=”yeni deger”’ ile yapiyoruz.

Yani ozetle, herhangi bir degiskenin icinde null deger bulunup bulunmadigini tek satirda “??” kullanarak yapabilir, yine ayni satirda dilerseniz null degree sahip degiskenlere “??=” kullanarak deger atayabilirsiniz.

Continue Reading PowerShell 7 Yeni Ozellikler – Null condition operators – Null deger kontrolu

PowerShell 7 Yeni Ozellikler – Chain Operators – Zincir Operatorler

Chain Operators – Zincir Operatorler
Pipeline icinde kosul bazli komut kosturmaya yariyor.
Pipeline icindeki komutlarin ya da fonksiyonlarin ciktilarina gore (basarili ya da basarisiz) dinamik komutlarin kosturulmasina izin veriyor.
Ornek:
“Merhaba” && “Dunya”
Yukaridaki komut icinde kullanilan &&, ancak kendisinden once kosturulan komut ya da fonksiyonun basarili olmasi durumunda kendisinden sonraki kismin calistirilmasini ongorur. Bir baska deyisle, “Merhaba” komutu basarili ise “Dunya” komutu da calistirilir. Aksi halde sadece ilk komut calistirilir. Bu durumda “Merhaba” && “Dunya” komutu asagidaki sonucu dondurur.

Bir diger ornek ise “||” ile verilebilir.
Burada da yukaridaki islemin tam tersi durum soz konusudur. Yani || (cift pipe) isareti oncesindeki komut ya da fonksiyonlar basarisiz olmussa || isaretinden sonraki komutlar ya da fonksiyonlar calistirilir. Bu durumda “Merhaba” || “Dunya” komutu asagidaki sonucu dondurur.

Dikkat edildigi gibi “Merhaba” komutu basarili sonuclanacagi icin ikinci kisim isleme alinmadi bile.
Bunu son bir ornekle daha inceleyelim. Ornegin, bir uygulama calismiyorsa onu calistirmak istersek:
Once uygulamanin zaten calistigi duruma bakalim. Bu durumda || isaretinin sag tarafi isleme alinmayacaktir, cunku hesap makinesi zaten calismakta!

Calculator uygulamasini kapatip yeniden komutumuzu calistiralim oyleyse.

Continue Reading PowerShell 7 Yeni Ozellikler – Chain Operators – Zincir Operatorler

PowerShell 7 Preview 5 Yenilikleri


PowerShell 7 Preview 5, bir cok yeniligi beraberinde getirdi. Gectigimiz gunlerde yayinlanan bu yeni surumde goze carpan yenilikleri soyle siralayabiliriz.
 
Chain operators – Zincir operatorler
Pipeline icinde kosul bazli komut kosturulmasini saglar
 
Null condition operators – Null deger kontrolu
Bir degiskenin $null degere sahip olmadigini pipeline icinde kontrol etmeye yarar.
 
Yeni PowerShell version uyarisi
Yeni bir PowerShell surumu yayinlandiginda, bu bilgi PowerShell konsolunu acildiginda kullaniciya mesaj olarak iletilir. Faydali oldugunu dusunuyorum. Zira ozellikle preview surumlerinin cok hizli yenilendigini dusunursek..
 
Degisken atamalarinda Tab tusu kullanimi
Bence bu da oldukca faydali bir ozellik. $DebugPreference gibi sistem degiskenlerinin degerlerini atarken hangi degerlerin gecerli deger olarak kabul edildigini tahmin etmek cok da kolay degil. Bu sayede TAB tusu sayesinde gecerli degerler bir bir listelenir ve uygun olani secebilirsiniz.
 
Format-Hex
Ayni pipeline icinde birden fazla degiskenin Hex degerinin listelenmesini saglar.
 
Get-HotFix
Windows PowerShell’de kullanilan Get-HotFix artik PowerShell 7 icerisinde de kullanilabilir durumda.
 
Concise Error Views
Hata mesajlari her zaman anlasilmasi guc mesajlardir. PowerShell 7 ile gelen bu ozellik sayesinde hata mesajlarini rafine edebilir ve gereksiz kisimlari elimine ederek daha “anlasilir” hale getirebilirsiniz.
 
Select-String
Bir icerik icinde aranan string degerinin ekrana “suslu” bir sekilde yazdirilmasini saglayan ozellik. Uzun metinlerin icinden kelime ayiklamak gerektiginde faydali olacagini dusunuyorum.
 
Yukaridaki yeniliklerin detayli anlatimini farkli postlar icinde ayri ayri yapacagim.

Continue Reading PowerShell 7 Preview 5 Yenilikleri