{"id":29047,"date":"2025-09-07T00:45:26","date_gmt":"2025-09-06T21:45:26","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/powershell-var-olmayan-klasoru-olusturma\/"},"modified":"2025-09-07T00:45:26","modified_gmt":"2025-09-06T21:45:26","slug":"powershell-var-olmayan-klasoru-olusturma","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/powershell-var-olmayan-klasoru-olusturma\/","title":{"rendered":"PowerShell: Var Olmayan Klas\u00f6r\u00fc Olu\u015fturma"},"content":{"rendered":"<p># PowerShell: Klas\u00f6r Olu\u015fturma (Var De\u011filse) &#8211; Ad\u0131m Ad\u0131m K\u0131lavuz<\/p>\n<p><strong>Meta A\u00e7\u0131klama:<\/strong> PowerShell ile klas\u00f6r olu\u015fturman\u0131n en etkili y\u00f6ntemlerini \u00f6\u011frenin! Bu rehber, yeni ba\u015flayanlardan ileri seviye kullan\u0131c\u0131lara kadar herkes i\u00e7in ad\u0131m ad\u0131m a\u00e7\u0131klamalar, ger\u00e7ek d\u00fcnya \u00f6rnekleri ve performans optimizasyonu ipu\u00e7lar\u0131 sunuyor.  Klas\u00f6r varl\u0131\u011f\u0131n\u0131 kontrol edip g\u00fcvenli bir \u015fekilde olu\u015fturmay\u0131 \u00f6\u011frenin.<\/p>\n<p>Yaz\u0131l\u0131m geli\u015ftirme s\u00fcrecinde, s\u0131kl\u0131kla dosya ve klas\u00f6rlerle \u00e7al\u0131\u015f\u0131r\u0131z.  Yeni bir proje ba\u015flatt\u0131\u011f\u0131n\u0131zda, log dosyalar\u0131n\u0131 kaydetmek istedi\u011finizde veya kullan\u0131c\u0131 verilerini d\u00fczenlemek i\u00e7in bir dizin olu\u015fturman\u0131z gerekti\u011finde,  klas\u00f6rlerin \u00f6nceden var olup olmad\u0131\u011f\u0131n\u0131 kontrol edip, gerekirse olu\u015fturman\u0131z gerekir.  Bu i\u015flem, hatas\u0131z ve g\u00fcvenilir bir yaz\u0131l\u0131m geli\u015ftirme s\u00fcreci i\u00e7in kritik \u00f6neme sahiptir.  Bu makalede, PowerShell kullanarak, var olmayan bir klas\u00f6r\u00fc nas\u0131l g\u00fcvenli ve verimli bir \u015fekilde olu\u015fturaca\u011f\u0131n\u0131z\u0131 ad\u0131m ad\u0131m \u00f6\u011freneceksiniz.<\/p>\n<p><strong>1. PowerShell Temelleri: Dosya ve Klas\u00f6r \u0130\u015flemleri<\/strong><\/p>\n<p>PowerShell, Windows tabanl\u0131 sistemlerde g\u00fc\u00e7l\u00fc bir komut sat\u0131r\u0131 arac\u0131 ve betik dilidir.  Dosya ve klas\u00f6r y\u00f6netimi i\u00e7in bir\u00e7ok yerle\u015fik cmdlet (komut) sunar.  Bu cmdlets&#8217;ler, dosya sistemini y\u00f6netmek, dosyalar\u0131 kopyalamak, ta\u015f\u0131mak, silmek ve klas\u00f6rler olu\u015fturmak i\u00e7in kullan\u0131l\u0131r.  En temel cmdlets&#8217;lerden biri, yeni klas\u00f6rler olu\u015fturmak i\u00e7in kullan\u0131lan <code class=\"language-\">New-Item<\/code> cmdlet&#8217;idir. Ancak, <code class=\"language-\">New-Item<\/code>&#8216;\u0131 do\u011frudan kullanmak, klas\u00f6r zaten varsa bir hata olu\u015fturabilir.  Bu nedenle, g\u00fcvenli bir yakla\u015f\u0131m, klas\u00f6r\u00fcn varl\u0131\u011f\u0131n\u0131 \u00f6nce kontrol etmektir.<\/p>\n<p><strong>2.  Yeni Ba\u015flayanlar \u0130\u00e7in: Klas\u00f6r Olu\u015fturma (Var De\u011filse) &#8211; Basit Y\u00f6ntem<\/strong><\/p>\n<p>Yeni ba\u015flayanlar i\u00e7in en basit yakla\u015f\u0131m, <code class=\"language-\">Test-Path<\/code> cmdlet&#8217;ini kullanarak klas\u00f6r\u00fcn varl\u0131\u011f\u0131n\u0131 kontrol etmek ve ard\u0131ndan <code class=\"language-\">New-Item<\/code> cmdlet&#8217;ini kullanarak klas\u00f6r\u00fc olu\u015fturmakt\u0131r. \u0130\u015fte basit bir \u00f6rnek:<\/p>\n<pre class=\"language-powershell\"><code>$klasorYolu = &quot;C:\\YeniKlasor&quot;\n\nif (!(Test-Path -Path $klasorYolu -PathType Container)) {\n    New-Item -ItemType Directory -Force -Path $klasorYolu\n    Write-Host &quot;Klas\u00f6r '$klasorYolu' ba\u015far\u0131yla olu\u015fturuldu.&quot;\n} else {\n    Write-Host &quot;Klas\u00f6r '$klasorYolu' zaten mevcut.&quot;\n}<\/code><\/pre>\n<p>Bu kod, \u00f6nce <code class=\"language-\">$klasorYolu<\/code> de\u011fi\u015fkeninde belirtilen klas\u00f6r yolunu kontrol eder. <code class=\"language-\">Test-Path<\/code> cmdlet&#8217;i, belirtilen yolun bir klas\u00f6r olup olmad\u0131\u011f\u0131n\u0131 kontrol eder (<code class=\"language-\">-PathType Container<\/code>).  E\u011fer klas\u00f6r mevcut de\u011filse (<code class=\"language-\">!(...)<\/code>), <code class=\"language-\">New-Item<\/code> cmdlet&#8217;i kullan\u0131larak klas\u00f6r olu\u015fturulur. <code class=\"language-\">-Force<\/code> parametresi, var olan bir klas\u00f6r\u00fcn \u00fczerine yaz\u0131lmas\u0131n\u0131 \u00f6nler.  Son olarak, kullan\u0131c\u0131ya bir mesaj g\u00f6sterilir.<\/p>\n<p><strong>3. Orta Seviye: Ger\u00e7ek D\u00fcnya \u00d6rne\u011fi ve Optimizasyon \u0130pu\u00e7lar\u0131<\/strong><\/p>\n<p>\u015eimdi, daha ger\u00e7ek\u00e7i bir senaryo ele alal\u0131m.  Bir web uygulamas\u0131n\u0131n log dosyalar\u0131n\u0131 kaydetmek i\u00e7in bir klas\u00f6r olu\u015fturmak istedi\u011fimizi varsayal\u0131m.  Log dosyalar\u0131n\u0131n tarihi i\u00e7eren alt klas\u00f6rlerde saklanmas\u0131 gereksinimi ekleyelim.<\/p>\n<pre class=\"language-powershell\"><code>$tarih = Get-Date -Format &quot;yyyyMMdd&quot;\n$logYolu = &quot;C:\\WebUygulamas\u0131Loglar\u0131\\$tarih&quot;\n\nif (!(Test-Path -Path $logYolu -PathType Container)) {\n    New-Item -ItemType Directory -Force -Path $logYolu\n    Write-Host &quot;Log klas\u00f6r\u00fc '$logYolu' ba\u015far\u0131yla olu\u015fturuldu.&quot;\n} else {\n    Write-Host &quot;Log klas\u00f6r\u00fc '$logYolu' zaten mevcut.&quot;\n}<\/code><\/pre>\n<p>Bu \u00f6rnekte, <code class=\"language-\">Get-Date<\/code> cmdlet&#8217;i kullan\u0131larak g\u00fcn\u00fcn tarihi al\u0131n\u0131r ve log klas\u00f6r\u00fcn\u00fcn yoluna eklenir.  Bu sayede her g\u00fcn i\u00e7in ayr\u0131 bir log klas\u00f6r\u00fc olu\u015fturulur.  Bu, log dosyalar\u0131n\u0131 daha d\u00fczenli ve y\u00f6netilebilir hale getirir.  Optimizasyon olarak,  <code class=\"language-\">-ErrorAction SilentlyContinue<\/code> parametresini  <code class=\"language-\">Test-Path<\/code> cmdlet&#8217;ine ekleyerek, hata y\u00f6netimini iyile\u015ftirebiliriz.  Bu, klas\u00f6r yolunun yanl\u0131\u015f olmas\u0131 gibi durumlarda hata mesajlar\u0131n\u0131n g\u00f6sterilmesini engeller.<\/p>\n<p><strong>4.  \u0130leri Seviye: Performans Analizi ve Edge Case&#8217;ler<\/strong><\/p>\n<p>Daha karma\u015f\u0131k senaryolarda, performans optimizasyonu ve olas\u0131 hatalar\u0131n ele al\u0131nmas\u0131 \u00f6nemlidir.  \u00d6rne\u011fin, birden fazla klas\u00f6r olu\u015fturman\u0131z gerekiyorsa, her klas\u00f6r i\u00e7in ayr\u0131 ayr\u0131 <code class=\"language-\">Test-Path<\/code> ve <code class=\"language-\">New-Item<\/code> kullanmak performans\u0131 d\u00fc\u015f\u00fcrebilir.  Bu durumda, <code class=\"language-\">-ErrorAction SilentlyContinue<\/code>  parametresi ile birlikte <code class=\"language-\">New-Item<\/code> cmdlet&#8217;inin <code class=\"language-\">-Force<\/code>  parametresini kullanarak daha verimli bir \u00e7\u00f6z\u00fcm elde edebiliriz.<\/p>\n<pre class=\"language-powershell\"><code>$klasorYollari = @(&quot;C:\\Klasor1&quot;, &quot;C:\\Klasor2&quot;, &quot;C:\\Klasor3&quot;)\n\nforeach ($yol in $klasorYollari) {\n    New-Item -ItemType Directory -Force -Path $yol -ErrorAction SilentlyContinue\n}<\/code><\/pre>\n<p>Bu kod, bir dizi klas\u00f6r yolunu i\u015fler ve her bir klas\u00f6r\u00fc olu\u015fturmaya \u00e7al\u0131\u015f\u0131r.  <code class=\"language-\">-ErrorAction SilentlyContinue<\/code>, hatalar\u0131 bast\u0131r\u0131r, b\u00f6ylece bir klas\u00f6r\u00fcn zaten mevcut olmas\u0131 gibi durumlarda beti\u011fin \u00e7al\u0131\u015fmas\u0131 durmaz.  Ancak, bu yakla\u015f\u0131m, olas\u0131 hatalar\u0131 kaydetmez.  Daha kapsaml\u0131 hata y\u00f6netimi i\u00e7in, <code class=\"language-\">try-catch<\/code> bloklar\u0131 kullan\u0131labilir.<\/p>\n<p>Ayr\u0131ca,  <code class=\"language-\">$klasorYolu<\/code> de\u011fi\u015fkeninin kullan\u0131c\u0131 girdisi ile olu\u015fturulmas\u0131 durumunda, g\u00fcvenlik a\u00e7\u0131klar\u0131na dikkat etmek \u00f6nemlidir.  Kullan\u0131c\u0131 girdisini do\u011frulamak ve ge\u00e7ersiz karakterleri temizlemek, g\u00fcvenli\u011fi art\u0131r\u0131r.<\/p>\n<p><strong>5.  Hata Y\u00f6netimi ve G\u00fcvenlik:  En \u0130yi Uygulamalar<\/strong><\/p>\n<p>PowerShell betiklerinizde hata y\u00f6netimi, uygulaman\u0131z\u0131n beklenmedik durumlarla nas\u0131l ba\u015fa \u00e7\u0131kaca\u011f\u0131n\u0131 belirler.  <code class=\"language-\">try-catch<\/code> blo\u011fu, potansiyel hatalar\u0131 yakalamak ve bunlara uygun \u015fekilde yan\u0131t vermek i\u00e7in kullan\u0131l\u0131r.<\/p>\n<pre class=\"language-powershell\"><code>try {\n    $klasorYolu = &quot;C:\\YeniKlasor\\AltKlasor&quot;\n    New-Item -ItemType Directory -Force -Path $klasorYolu\n    Write-Host &quot;Klas\u00f6r ba\u015far\u0131yla olu\u015fturuldu.&quot;\n}\ncatch {\n    Write-Error &quot;Klas\u00f6r olu\u015fturulamad\u0131: $($_.Exception.Message)&quot;\n}<\/code><\/pre>\n<p>Bu \u00f6rnekte, <code class=\"language-\">try<\/code> blo\u011fu i\u00e7indeki kod \u00e7al\u0131\u015ft\u0131r\u0131l\u0131r.  Bir hata olu\u015fursa, <code class=\"language-\">catch<\/code> blo\u011fu \u00e7al\u0131\u015ft\u0131r\u0131l\u0131r ve hata mesaj\u0131 yazd\u0131r\u0131l\u0131r. Bu, kullan\u0131c\u0131lara daha bilgilendirici hata mesajlar\u0131 sa\u011flar ve olas\u0131 sorunlar\u0131 gidermeyi kolayla\u015ft\u0131r\u0131r.  Ayr\u0131ca,  <code class=\"language-\">-ErrorAction<\/code> parametresi yerine <code class=\"language-\">try-catch<\/code> kullan\u0131m\u0131, daha ayr\u0131nt\u0131l\u0131 hata i\u015fleme olana\u011f\u0131 sunar.<\/p>\n<p><strong>6.  Performans Optimizasyonu:  \u00c7oklu Klas\u00f6r Olu\u015fturma<\/strong><\/p>\n<p>Birden fazla klas\u00f6r olu\u015ftururken performans\u0131 art\u0131rmak i\u00e7in, <code class=\"language-\">New-Item<\/code> cmdlet&#8217;ini tek tek \u00e7a\u011f\u0131rmak yerine,  <code class=\"language-\">foreach<\/code> d\u00f6ng\u00fcs\u00fc i\u00e7inde toplu olarak kullanmak daha verimli olabilir.  Ancak, \u00e7ok b\u00fcy\u00fck say\u0131da klas\u00f6r i\u00e7in, daha geli\u015fmi\u015f teknikler gerekebilir.  \u00d6rne\u011fin,  PowerShell&#8217;in yerle\u015fik dosya sistemi i\u015flevlerini kullanarak veya daha d\u00fc\u015f\u00fck seviyeli API&#8217;ler ile etkile\u015fim kurarak performans iyile\u015ftirmesi yap\u0131labilir.<\/p>\n<p><strong>7.  G\u00fcvenlik A\u00e7\u0131klar\u0131n\u0131 \u00d6nleme:  Kullan\u0131c\u0131 Girdisi Do\u011frulamas\u0131<\/strong><\/p>\n<p>Kullan\u0131c\u0131 girdisi i\u00e7eren betiklerde g\u00fcvenlik a\u00e7\u0131klar\u0131n\u0131 \u00f6nlemek \u00e7ok \u00f6nemlidir.  Kullan\u0131c\u0131dan al\u0131nan klas\u00f6r yollar\u0131n\u0131 do\u011frulamak ve zararl\u0131 karakterleri temizlemek,  betiklerin g\u00fcvenli\u011fini art\u0131r\u0131r.  \u00d6rne\u011fin,  <code class=\"language-\">ValidateScript<\/code> \u00f6zelli\u011fi ile kullan\u0131c\u0131 girdisini do\u011frulayabilirsiniz.<\/p>\n<p><strong>8.  Ger\u00e7ek D\u00fcnya Senaryolar\u0131: Vaka Analizleri<\/strong><\/p>\n<p><strong>Vaka 1:<\/strong>  Bir g\u00fcnl\u00fck dosya olu\u015fturma sistemi. Her g\u00fcn i\u00e7in ayr\u0131 bir klas\u00f6r olu\u015fturan bir betik.<\/p>\n<p><strong>Vaka 2:<\/strong>  Bir web sunucusunun log dosyalar\u0131n\u0131 y\u00f6netmek i\u00e7in bir betik.  Hata loglar\u0131, eri\u015fim loglar\u0131 vb. i\u00e7in ayr\u0131 klas\u00f6rler olu\u015fturur.<\/p>\n<p><strong>Vaka 3:<\/strong>  Bir kullan\u0131c\u0131 hesab\u0131 olu\u015fturuldu\u011funda, o kullan\u0131c\u0131 i\u00e7in bir veridir klas\u00f6r\u00fc olu\u015fturan bir betik (Active Directory entegrasyonu).<\/p>\n<p><strong>9.  PowerShell&#8217;de Geli\u015fmi\u015f Klas\u00f6r Y\u00f6netimi Teknikleri<\/strong><\/p>\n<p>PowerShell, klas\u00f6r y\u00f6netimi i\u00e7in daha geli\u015fmi\u015f teknikler sunar.  \u00d6rne\u011fin,  <code class=\"language-\">Get-ChildItem<\/code> cmdlet&#8217;i ile bir klas\u00f6r i\u00e7indeki t\u00fcm alt klas\u00f6rleri listeleyebilir ve <code class=\"language-\">Remove-Item<\/code> cmdlet&#8217;i ile klas\u00f6rleri silebilirsiniz.  Bu cmdlets&#8217;ler, daha karma\u015f\u0131k klas\u00f6r y\u00f6netimi g\u00f6revleri i\u00e7in kullan\u0131labilir.  Ayr\u0131ca, PowerShell&#8217;in g\u00fc\u00e7l\u00fc nesne modeli, klas\u00f6rler \u00fczerinde daha fazla kontrol sa\u011flar.<\/p>\n<p><strong>10. Sonu\u00e7:  PowerShell ile G\u00fcvenli ve Verimli Klas\u00f6r Olu\u015fturma<\/strong><\/p>\n<p>Bu makalede, PowerShell kullanarak klas\u00f6r olu\u015fturman\u0131n \u00e7e\u015fitli y\u00f6ntemlerini inceledik.  Basit y\u00f6ntemlerden,  performans optimizasyonuna ve hata y\u00f6netimine kadar,  PowerShell&#8217;in sundu\u011fu g\u00fc\u00e7l\u00fc ara\u00e7lar\u0131 kullanarak g\u00fcvenli ve verimli bir \u015fekilde klas\u00f6r olu\u015fturabilirsiniz.  Unutmay\u0131n ki,  g\u00fcvenlik ve performans,  herhangi bir PowerShell beti\u011fi geli\u015ftirirken g\u00f6z \u00f6n\u00fcnde bulundurulmas\u0131 gereken \u00f6nemli fakt\u00f6rlerdir.  Daha fazla bilgi i\u00e7in [fatihsoysal.com](https:\/\/fatihsoysal.com) sitesini ziyaret edebilirsiniz.<\/p>\n<p><strong>S\u0131k\u00e7a Sorulan Sorular:<\/strong><\/p>\n<p>1. <strong><code class=\"language-\">-Force<\/code> parametresi ne i\u015fe yarar?<\/strong>  <code class=\"language-\">-Force<\/code> parametresi, var olan bir klas\u00f6r\u00fcn \u00fczerine yaz\u0131lmas\u0131na izin verir.  Ancak, bu parametreyi dikkatli kullanmak \u00f6nemlidir, \u00e7\u00fcnk\u00fc verilerin kayb\u0131na neden olabilir.<\/p>\n<p>2. <strong><code class=\"language-\">Test-Path<\/code> cmdlet&#8217;i nas\u0131l kullan\u0131l\u0131r?<\/strong>  <code class=\"language-\">Test-Path<\/code> cmdlet&#8217;i, belirtilen bir dosya veya klas\u00f6r\u00fcn varl\u0131\u011f\u0131n\u0131 kontrol eder.  <code class=\"language-\">-PathType<\/code> parametresi ile dosya veya klas\u00f6r t\u00fcr\u00fc belirtilebilir.<\/p>\n<p>3. <strong>Hata y\u00f6netimi neden \u00f6nemlidir?<\/strong>  Hata y\u00f6netimi, beti\u011finizin beklenmedik durumlarla nas\u0131l ba\u015fa \u00e7\u0131kaca\u011f\u0131n\u0131 belirler.  Hata y\u00f6netimi, beti\u011finizin daha g\u00fcvenilir ve sa\u011flam olmas\u0131n\u0131 sa\u011flar.<\/p>\n<p>4. <strong>Performans\u0131 nas\u0131l optimize edebilirim?<\/strong>  Performans\u0131 optimize etmek i\u00e7in,  toplu i\u015flemler kullanabilir,  gereksiz i\u015flemleri azaltabilir ve daha verimli cmdlets&#8217;ler kullanabilirsiniz.<\/p>\n<p>5. <strong>Kullan\u0131c\u0131 girdisini nas\u0131l do\u011frulayabilirim?<\/strong>  Kullan\u0131c\u0131 girdisini do\u011frulamak i\u00e7in,  <code class=\"language-\">ValidateScript<\/code> \u00f6zelli\u011fini veya di\u011fer do\u011frulama y\u00f6ntemlerini kullanabilirsiniz.<\/p>\n<p>Yazar: Fatih Soysal<\/p>\n","protected":false},"excerpt":{"rendered":"# PowerShell: Klas\u00f6r Olu\u015fturma (Var De\u011filse) &#8211; Ad\u0131m Ad\u0131m K\u0131lavuz Meta A\u00e7\u0131klama: PowerShell ile klas\u00f6r olu\u015fturman\u0131n en etkili&hellip;","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[1319],"tags":[],"class_list":{"0":"post-29047","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-powershell","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>PowerShell: Var Olmayan Klas\u00f6r\u00fc Olu\u015fturma<\/title>\n<meta name=\"description\" content=\"Hi\u00e7bir etiketi bulunamad\u0131.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/powershell-var-olmayan-klasoru-olusturma\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"PowerShell: Var Olmayan Klas\u00f6r\u00fc Olu\u015fturma\" \/>\n<meta property=\"og:description\" content=\"Hi\u00e7bir etiketi bulunamad\u0131.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/powershell-var-olmayan-klasoru-olusturma\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-09-06T21:45:26+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/powershell-var-olmayan-klasoru-olusturma\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/powershell-var-olmayan-klasoru-olusturma\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"PowerShell: Var Olmayan Klas\u00f6r\u00fc Olu\u015fturma\",\"datePublished\":\"2025-09-06T21:45:26+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/powershell-var-olmayan-klasoru-olusturma\/\"},\"wordCount\":1312,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"articleSection\":[\"PowerShell\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/powershell-var-olmayan-klasoru-olusturma\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/powershell-var-olmayan-klasoru-olusturma\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/powershell-var-olmayan-klasoru-olusturma\/\",\"name\":\"PowerShell: Var Olmayan Klas\u00f6r\u00fc Olu\u015fturma\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-09-06T21:45:26+00:00\",\"description\":\"Hi\u00e7bir etiketi bulunamad\u0131.\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/powershell-var-olmayan-klasoru-olusturma\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/powershell-var-olmayan-klasoru-olusturma\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/powershell-var-olmayan-klasoru-olusturma\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"PowerShell: Var Olmayan Klas\u00f6r\u00fc Olu\u015fturma\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"PowerShell: Var Olmayan Klas\u00f6r\u00fc Olu\u015fturma","description":"Hi\u00e7bir etiketi bulunamad\u0131.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/powershell-var-olmayan-klasoru-olusturma\/","og_locale":"tr_TR","og_type":"article","og_title":"PowerShell: Var Olmayan Klas\u00f6r\u00fc Olu\u015fturma","og_description":"Hi\u00e7bir etiketi bulunamad\u0131.","og_url":"https:\/\/fatihsoysal.com\/blog\/powershell-var-olmayan-klasoru-olusturma\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-09-06T21:45:26+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"7 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/powershell-var-olmayan-klasoru-olusturma\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/powershell-var-olmayan-klasoru-olusturma\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"PowerShell: Var Olmayan Klas\u00f6r\u00fc Olu\u015fturma","datePublished":"2025-09-06T21:45:26+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/powershell-var-olmayan-klasoru-olusturma\/"},"wordCount":1312,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"articleSection":["PowerShell"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/powershell-var-olmayan-klasoru-olusturma\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/powershell-var-olmayan-klasoru-olusturma\/","url":"https:\/\/fatihsoysal.com\/blog\/powershell-var-olmayan-klasoru-olusturma\/","name":"PowerShell: Var Olmayan Klas\u00f6r\u00fc Olu\u015fturma","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-09-06T21:45:26+00:00","description":"Hi\u00e7bir etiketi bulunamad\u0131.","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/powershell-var-olmayan-klasoru-olusturma\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/powershell-var-olmayan-klasoru-olusturma\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/powershell-var-olmayan-klasoru-olusturma\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"PowerShell: Var Olmayan Klas\u00f6r\u00fc Olu\u015fturma"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/29047","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=29047"}],"version-history":[{"count":0,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/29047\/revisions"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=29047"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=29047"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=29047"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}