PowerShell ile Bilgisayarin Modelini ve BIOS Detaylarini Listelemek
CIM Class’lari sayesinde istedigimiz bircok bilgiye ulasabiliyoruz. Buna guzel bir ornek de Win32_ComputerSystem ve Win32_Bios. Nasil mi?

CIM Class’lari sayesinde istedigimiz bircok bilgiye ulasabiliyoruz. Buna guzel bir ornek de Win32_ComputerSystem ve Win32_Bios. Nasil mi?
Kayit Linki: https://teams.microsoft.com/registration/vPJ6O4tL8UWSRq2I9GBRuA,A9z1-HM02EuLIk92LJW-bA,lBAa9w0yAkaS4c1QDt_8YA,UGOzEcSA20OBHLT41xHTPQ,mGUizdLYiU2OHt6-GdVSpg,_ChVPuq7SUGLbBPxumMqwg?mode=read&tenantId=3b7af2bc-4b8b-45f1-9246-ad88f46051b8
Kayit Linki: https://teams.microsoft.com/registration/vPJ6O4tL8UWSRq2I9GBRuA,A9z1-HM02EuLIk92LJW-bA,lBAa9w0yAkaS4c1QDt_8YA,hYuzOxnwEkiLZ48vlViqFw,kRt7jKP4-EuzjwcNB2pAAQ,RdBkvgSVn0yZG29oHg4AQw?mode=read&tenantId=3b7af2bc-4b8b-45f1-9246-ad88f46051b8
Kayit Linki: https://teams.microsoft.com/registration/vPJ6O4tL8UWSRq2I9GBRuA,A9z1-HM02EuLIk92LJW-bA,lBAa9w0yAkaS4c1QDt_8YA,hYuzOxnwEkiLZ48vlViqFw,kRt7jKP4-EuzjwcNB2pAAQ,RdBkvgSVn0yZG29oHg4AQw?mode=read&tenantId=3b7af2bc-4b8b-45f1-9246-ad88f46051b8
Kayit Linki: https://teams.microsoft.com/registration/vPJ6O4tL8UWSRq2I9GBRuA,A9z1-HM02EuLIk92LJW-bA,lBAa9w0yAkaS4c1QDt_8YA,NmJO9m3m-0ad6rgnUUvV4w,Q9U7gHl82UKq0RCv4FsD6g,_PJWZKZ3P0S30_zBw68s-g?mode=read&tenantId=3b7af2bc-4b8b-45f1-9246-ad88f46051b8
Bir Key Vault’un ne olursa olsun, belirnene bir zaman diliminde, silinse bile tamamen Azure ortamindan kaldirilmamasini istiyor olabilirsiniz. Bu, genellikle yasal gereksinimlerden dolyai olur. Silinen Key Vault’lar Retention Period adi verilen bir sure icin Azure ortaminda muhaza edilirler. Ancak Purge islemi uygulaniginda bu silinmis ama gecici bir alanda tutulan Key Vault’lar “tamanen” ve geri donusu olmayan bir bicimde silinirler. Bunun onune gecmek icin Purge Protection ozelligi kullanilir. Bu ozellik bir kez aktif hale getirildiginde, o Key Vault icin bu ayar bir daha degistirilemez. Peki bunu nasil kullanabiliriz? Gorelim!
Oncelikle ornekteki Key Vault’unPurge Protection ozelligini acalim.
Simdi bu Key Vault’u silelim. Evet silelim diyorum cunku gercekte “tamamen” silinmeyecegini biliyorum. Silme isleminin ardindan ise Purge islemini uygualamaya calisalim. Yani komple ortamdan kaldirma islemi.
Sonuc beklendigi gibi basarisiz. Cunku Purge Protection aktif durumda. Bu Key Vault’u tamamen silmek icin 90 gun beklememiz gerekiyor. Bu 90 gun ayarini Purge Protection ozelligini aktif ederken ayarlayabilirdik. Ama artik cok gec. Neyse sayili gun cabuk gecer diyelim!
Oncelikle AzureAD modulunun yuklu oldugundan emin olalim.
Yuklu degilse “Import-Module AzureAD” komutuyla yukleyelim.
Yukledikten sonra “Connect-AzureAD -TenantID “XXXXX–xxxxxx-xxxxxx-xxxx” komutuyla TenantID belirterek Azure AD’ye baglanti saglayalim. Sonrasinda gerisi kolay.
Get-AzureAdUser
Spesifik listeleme icin bir ornek
Get-AzureADUser -SearchString ‘DisplayName eq Baki Onur Okutucu’
Yine son derece basit ama kullanisli bir dizi komut ile hayatimizi kolaylastirmaya devam ediyoruz.
Varsayalim ki ic ice gecmis onlarca klasor ve binlerce dosyamiz var. Bu karmasikligin icinde bos klasorlari listelemek ve onlari silmek isteyebilirsiniz. Ilk kismina odaklanalim ve bu klasorleri listeleyelim.
Oncelikle ana dizin icinde asagidaki gibi bir gorunume sahip oldugumuzu dusunelim.
gci -r | select fullname,parent, mode
Simdi asagidaki komutla icinde hicbir oge bulunmayan klasorleri listeleyelim.
gci -r -Directory | where{(gci $psitem.fullname).count -eq 0} | select fullname,parent,mode
Son olarak “opsiyonel” bir komut ile butunbu bos klasorleri silebiliriz.
gci -r -Directory | where{(gci $psitem.fullname).count -eq 0} | Remove-Item -Force
Yeniden baktigimizda son durum su sekilde.
Bir Storage Account icindeki Container’in altinda yer alan dosyanin icerigini ekrana yazdirabilir miyiz? Elbette!
Once Context olusturuyor ve akabinde ilgili Container icindeki dosyayi (Blob) hedef gosteriyoruz. Son olarak Blob icerigini tumlesik bir fonksiyon ile okutuyoruz.
$context = (Get-AzStorageAccount -Name storageaccountfunct94f4 -ResourceGroupName functionapps).context
$blob = Get-AzStorageBlob -Container test -Blob testdosya1.txt -Context $context
$blob.ICloudBlob.DownloadText()
Script’lerimiz icerisinde cok fazla kullandigimiz bir fonksiyon bu. Substring.
Ozellikle string objelerini “kesip bicmek” istedigimizde epey faydali bir arac.
Ornegin uzun bir dosya isminin belirli bir bolumunu ayiklamak istiyorsunuz. Ornegimize bakalim oyleyse.
Ornek 1:
$isim = “Baki Onur Okutucu”
$isim.Substring(0,4)
$isim.Substring(5,4)
$isim.Substring(10,7)
Ornek 2:
$dosyaIsmi = “dosya11982394279_12_06_2021.pptx”
$dosyaIsmi.Substring(0,$dosyaIsmi.Length -5)
Ornek 3:
$dosyaIsmi = “dosya1234563445-version_1.4.pptx”
$temp1 = $dosyaismi.Substring($dosyaismi.IndexOf(‘version_’) + 8)
$temp1.Substring(0,$temp1.Length -5)