1. Anasayfa
  2. Microsoft PowerShell

Microsoft PowerShell – Importing Data – Bölüm 5


0

Microsoft PowerShell – Importing Data – Bölüm 5. Import işlemi PowerShell dışındaki bir birimden (storage üzerindeki bir data ya da disk üzerindeki bir dosya vb..) belli formattaki datayı okuyup tekrar obje olarak Convert etmeyi sağlayan bir işlemdir. Burada dikkat edilmesi gereken önemli nokta belli formattaki dataların obje olarak Import edilecek olmasıdır.

Bahsi geçen objeler genellikle Pipeline içerisine konulup diğer komuta aktarılırlar.

Import işleminin efektif olması verinin formatı ile doğrudan alakalıdır. Örneğin CSV düz bir data yapısına sahiptir. Önce Property’ler ve bunlara ait değerler vardır. Bu sebeple kompleks bir data yapısı sunmaz. Buna karşın XML hiyerarşik kompleks bir data yapısına sahiptir ve datayı saklamakta daha etkin bir metot sunar.

PowerShell üzerinde Import kelimesi kullanıldığında basit olarak iki işlem yapılır.

1. Data PowerShell dışındaki birimden okunur.

2. Okunan data obje formatına dönüştürülür.

Aslında bu işlem Export komutu ile yapılan işlemin tam tersidir. (Hatırlarsanız Export işlemi datayı Export ederken aynı zamanda formatını da dönüştürmekteydi)

Örnek üzerinde bu durum inceleyelim.

Aşağıdaki komutu çalıştırıp ilk 10 servisi csv olarak export edelim.

Get-Service | select -First 10 | Export-Csv c:\users\firat\desktop\Servisler.csv


Resim-1

CSV dosyası açıldığında ilk satırda Convert edilen Type, ikinci satırda Property isimleri listelenir. Diğer satırlar ise Convert edilen objelere ait bilgileri barındırırlar.


Resim-2

Şimdi işlemi tam tersine çevirip elde ettiğimiz csv file üzerinden veriyi tekrar Import edelim.

Import ettiğimiz data tekrar objeye dönüşeceği için, üzerinde sort, select ve benzeri komutları çalıştırmayı deneyelim.

Aşağıdaki gibi csv Import işleminin ardından objeleri once sıralayalım, sonra da belirli Property’lerine göre ilk beşini listeleyelim.

Import-Csv c:\users\firat\desktop\Servisler.csv | Sort-Object -Descending | select -Property name,displayname,status -First 5


Resim-3

Görüldüğü gibi Import işleminin ardından veriler objeye dönüştürüldüğü için üzerlerinde sort,select ve benzeri komutlar sorunsuz şekilde çalıştırılabilirler.

Örneğin Import komutu yerine Get-Content komutu kullanılmış olsaydı bu komutların hiç birisi çalışmazdı.

Çünkü Get-Content komutu ile csv içerisindeki veri sanki notepad üzerinden raw data okunur gibi okunmuş olacaktı.

Örnek olarak PowerShell üzerinde komutumuzu aşağıdaki gibi çalıştıralım.

Get-Content c:\users\firat\desktop\Servisler.csv | Sort-Object -Descending | select -Property name,displayname,status -First 5


Resim-4

Görüldüğü üzere komut bu şekilde çalıştırıldığında hiçbir değer döndürmez. Bunun sebebi Data’nın raw içerik olarak alınmasıdır. Bunun yerine komut aşağıdaki şekilde revize edilirse istenilen sonuç alınır.

Get-Content c:\users\firat\desktop\Servisler.csv | ConvertFrom-Csv |Sort-Object -Descending | select -Property name,displayname,status -First 5


Resim-5

Bu komutta diğer komuttan farklı olarak ConvertFrom-CSV cmdlet’i kullanıldı. Bu cmdlet ile raw olarak alınan içerik Pipeline’a kullanılabilir obje olarak iletildi ve istenilen sonuç elde edildi.

Özetle Import-Csv , Get-Content ve ConvertFrom-Csv komutlarının birlikte yaptığı işi tek başına yapar. J Fakat Import-csv komutu diğer komutlardan daha hızlı sonuç verir.

Bir sonraki makalede görüşmek üzere.

Bu konuyla ilgili sorularınızı  alt kısımda bulunan yorumlar alanını kullanarak sorabilirsiniz.

Referanslar

www.mshowto.org

Microsoft DMOC

 

TAGs : PowerShell, PowerShell ornek, PowerShell Import data, PowerShell data Import, PowerShell data çekmek, PowerShell data almak

Bu İçeriğe Tepkin Ne Oldu?
  • 0
    harika_
    Harika!!
  • 0
    be_enmedim
    Beğenmedim
  • 0
    _ok_iyi
    Çok iyi
  • 0
    sevdim_
    Sevdim!
  • 0
    bilemedim_
    Bilemedim!
  • 0
    olmad_
    Olmadı!
  • 0
    k_zd_m_
    Kızdım!

Sakarya doğumludur. İstanbul Üniversitesi’nde Matematik/Fen ve Teknoloji öğretmenliğini bitirmiştir. Yüksek lisansını Sakarya Üniversitesi Bilgisayar Mühendisliği’nde yapmıştır. Bilişim sektöründe çeşitli firmalarda sistem ve network sorumlusu olarak çalışmıştır. Bazı kurumlarda sistem ve network üzerine uzmanlık eğitimleri vermiştir. Şu anda Netaş şirketinde kurumsal danışman olarak görev yapmaktadır. Microsoft System Center ürünleri, Powershell ve Azure teknolojileri ile ilgilenmektedir. 2016 yılında Microsoft tarafından Cloud and Datacenter alanında MVP unvanını almıştır.

Yazarın Profili

Bültenimize Katılın

Tıklayın, üyemiz olun ve yeni güncellemelerden haberdar olan ilk kişi siz olun.

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir