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..
Ben kendi ornegimde eski bir surum uzerinde bunu gostermek istedim. Preview 5 versiyonunu actigimda, en yeni surum olan 7.0.0 surumunun kullanima hazir olduguna dair mesaj goruntulendi. Bu sayede yeni bir surum var mi yok mu diye surekli kontrol etmenize de gerek kalmamis oluyor.
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..
06.03.2020 tarihli oturumun kaydina asagidaki linkten ulasabilirsiniz.
Ayrica, yeniliklerden haberdar olmak ve oturum kayitlarina hizli erisim saglamak icin PSTR Twitter hesabini takip edebilirsiniz.
@powershellT
Tesekkurler
#PowerShellTurkiye
#PSTR
#PowerShellTR
#Automation
#PowerShell
Secret, parola gibi gizli olarak saklanmasi gereken verilere verilen genel bir isim. Secret yonetiminde bulut uzerinde cok cesitli cozumler kullanilsa da local bilgisayarinizda da bu tarz bir cozum kullanmak isteyebilirsiniz. Iste tam bu noktada Microsoft yeni bir PowerShell modulunun ilk adimini atti bile. Henuz deneme surumunde olan bu modulu asagidaki sekilde yukleyebilir ve ilk testleri yapabilirsiniz.
Ben kendi ornegimde, yeni bir secret olusturdum ve gerektiginde bu olusturdugum secret’i listeledim ve icerigine ulastim.
PowerShell scriptleriniz icinde parola gibi hassas bilgilerin kullanilmasi gerekiyorsa bu modul sayesinde parolalari dogrudan kullanmak yerine Secret olarak referans gostererek kullanabilirsiniz. Bu sayede bu hassas bilgiler kimsenin eline gecmemis ve yetkisiz kisiler tarafindan goruntulenmemis olur. Guzel fikir!
PowerShell Türkiye YouTube Kanali
https://www.youtube.com/channel/UCj7ALiFRj4gi-3vEeQ1exKg/
PowerShell Türkiye Meetup Sayfasi
PowerShell Türkiye Twitter Hesabi
PowerShell Türkiye Slack Kanalina katilmak icin asagidaki davet linkini kullanabilirsiniz.
https://join.slack.com/t/powershelltr/shared_invite/enQtOTgxMzc0MDIzNzM0LTQ1NDE4MmNjNGMyMTgzZTc2ODM0NDM2YTUyYTM5ZjljZjRhNzAxMjdkZWU3OWVmMzdlZmU4NmQ2NWUwOWQ4Nzg
#PowerShell
#PSTR
#PowerShellTurkiye
#Otomasyon
#PowerShell7
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.
PowerShell’in kolay kullanimligi ve operasyonelligini Linux uzerinde de yasayabilirsiniz. Ornek olarak bir servisin durumunu PowerShell ile sorgulamak isterseniz asagidaki basit fonksiyonu kullanabilirsiniz. “Ayni isi ben zaten systemctl’yi direkt kullanarak da yapabiliyorum” diyebilirsiniz. Kesinlikle katiliyorum; ancak PowerShell’e liskin biriyseniz tum isleri onunla yapmak isteyebiliyorsunuz. Benden hatirlatmasi
[crayon]
function Get-Service {
param (
[string]$ServiceName
)
if ((systemctl is-active $ServiceName) -eq ‘active’)
{
systemctl status $Servicename
}
else
{
“$ServiceName is not active or not found”
}
}
[/crayon]
Get-Service -ServiceName ssh
Bir icerik icinde aranan string degerinin ekrana “suslu” bir sekilde yazdirilmasini saglayan ozellik. Uzun metinlerin icinden kelime ayiklamak gerektiginde faydali olacagini dusunuyorum.
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.
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.
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.