16.08.2021

Powershell, diziler ve Add-Member

Şöyle bir hedefim var; Bir klasördeki dosyaları tablo olarak listelerken bir sütunda dosya sistemindeki sahip bilgisini de görmek istiyorum. Boş bir dizi oluşturayım.

> $dosyalar = @()

Sonra bu diziyi dosya bilgileri ile doldurayım.

> dir | % { $dosyalar += [PSCustomObject]@{

    Isim = $_.FullName

    Boyut = $_.Length

 }

Bu adımda $dosyalar dizisi şöyle olur:

Isim                          Boyut

-----                         -----

D:\Klasor\Dosya1.txt             22

D:\BaskaKlasor\Dosya2.doc      1366

Bu şekilde Isim ve Boyut sütunları olan bir dizi oluştu. Şimdi NTFS dosya sisteminde dosyayı oluşturan kullanıcı olan "sahip" (owner) bilgisini de eklemek istiyorum.

Oluşturma aşamasında da sahip bilgisini ekleyebilirdik, ama örnek olması açısından bu nesneye oluşturduktan sonra ekleyelim.

> Add-Member -InputObject $dosyalar -MemberType ScriptProperty -Name Sahip -Value {(Get-Acl $this.Isim).Owner}

Bu işlem sonunda şu şekilde bir tablomuz olur:

Isim                          Boyut    Sahip

-----                         -----    -----

D:\Klasor\Dosya1.txt             22    metin

D:\BaskaKlasor\Dosya2.doc      1366    arda

Hiç yorum yok: