Sizden Gelen Sorular – PowerShell icinden VSCode uygulamasini, istedigim bir klasor icinde nasil acarim?

icinde bulundugunuz klasor yolunda “code .” komutunu yazmaniz yeterli. code ile nokta isareti arasinda bosluk oldugunu unutmayalim lytfen 🙂

Continue Reading Sizden Gelen Sorular – PowerShell icinden VSCode uygulamasini, istedigim bir klasor icinde nasil acarim?

Café Azure’un Konugu Oldum: Kod olarak Altyapı (Infrastructure as Code)

Birbirinden degerli konulari ve konuklari ile cok guzel sohbetler gerceklestiren Cafe Azure’unnazik davetini elbette kirmadim ve dilimiz dondugunce IaC uzerine konustuk, fikirlerimizi paylastik. Kendilerine cok tesekkur ediyorum. Sohbetimize asagidaki linkten ulasabilirsiniz.

Continue Reading Café Azure’un Konugu Oldum: Kod olarak Altyapı (Infrastructure as Code)

PowerShell Fonksiyonlari Icindeki Gelismis Parametreler – 5 – AllowEmptyCollection Ozelligi

Collection tipindeki bir parametre degerinin bos olarak tanimlanmasina izin verir.

function test4 {
Param(
    [Parameter(Mandatory)]
    [string[]]
    $isimler
)
write-host $isimler
}
###

function test4 {
    Param(
        [Parameter(Mandatory)]
        [AllowEmptyCollection()]
        [string[]]
        $isimler
    )
    
    write-host $isimler
}
Continue Reading PowerShell Fonksiyonlari Icindeki Gelismis Parametreler – 5 – AllowEmptyCollection Ozelligi

PowerShell ile Fonksiyon Islemleri – 10 – Fonksiyonlar Icinde Belirli Kosullara Gore Dinamik Parametreler Kullanmak

Fonksiyon parametrelerinin baska parametrelerin degerlerine gore aktif olup olmamasi saglanabilir. Ornegin sayi parametresine verilen deger 4’ten buyukse, sayi2 parametresini kullanabilmeye izin vermek mumkundur, Bu durumda eger Sayi parametresinin degeri 4’ten kucukse sayi2 parametresi devredisi kalir ve kullanici bu parametreyi fonksyion icinde kullanamaz.

function Dinamik-Sayilar {
    [CmdletBinding()]
    Param([string]$sayi)
  
    DynamicParam
    {
      if ($sayi -gt 4 )
      {
        $parameterAttribute = [System.Management.Automation.ParameterAttribute]@{
            ParameterSetName = "Set1"
            Mandatory = $false
        }
  
        $attributeCollection = [System.Collections.ObjectModel.Collection[System.Attribute]]::new()
        $attributeCollection.Add($parameterAttribute)
  
        $dynParam1 = [System.Management.Automation.RuntimeDefinedParameter]::new(
          'sayi2', [Int32], $attributeCollection
        )
  
        $paramDictionary = [System.Management.Automation.RuntimeDefinedParameterDictionary]::new()
        $paramDictionary.Add('sayi2', $dynParam1)
        return $paramDictionary
      }
    }
    process {$sonuc = $sayi+$sayi2
    $sonuc
    }
  }
Continue Reading PowerShell ile Fonksiyon Islemleri – 10 – Fonksiyonlar Icinde Belirli Kosullara Gore Dinamik Parametreler Kullanmak

PowerShell Fonksiyonlari Icindeki Gelismis Parametreler – 4 – AllowEmptyString Ozelligi

Bir parametre degerinin bos string olarak atanabilmesine izin verir.

function test2 {
Param(
    [Parameter(Mandatory)]
    [string]
    $isim
)
write-host $isim
}

function test2 {
    Param(
        [Parameter(Mandatory)]
        [AllowEmptyString()]
        [string]
        $isim
    )
    
    write-host $isim
}
Continue Reading PowerShell Fonksiyonlari Icindeki Gelismis Parametreler – 4 – AllowEmptyString Ozelligi

PowerShell ile Fonksiyon Islemleri – 9 – Fonksiyonlar icinde ArgumentCompletions ile Parametre Degerlerini Otomatik Tamamlatmak

Bir fonksiyonunu parametre degerlerinin dinamik bir sekilde belirlenmesini saglar. Ornegin bir fonksiyon icinde dosyaAdi ismindeki degiskenin degerinin, spesifik bir klasor icindeki dosyalarin isimlerinden biri olarak kullanilmasini isteyebiliriz.

function Dosya-Bul {
    Param(
        [Parameter(Mandatory)]
        [ArgumentCompleter( {
            param ( $commandName,
                    $parameterName,
                    $wordToComplete,
                    $commandAst,
                    $fakeBoundParameters )
            Set-Location C:\temp
            (Get-ChildItem | select name).name
        } )]
        $dosyaaadi
    )
}
Continue Reading PowerShell ile Fonksiyon Islemleri – 9 – Fonksiyonlar icinde ArgumentCompletions ile Parametre Degerlerini Otomatik Tamamlatmak

PowerShell Fonksiyonlari Icindeki Gelismis Parametreler – 3 – AllowNull Ozelligi

Bir parametre degerinin null olarak verilip verilemeyeceginin belirlendigi ozelliktir. Asagiki ilk ornekte bu ozellik kapali, digerinde ise aciktir. AllowNull ozelligi sayesinde “isimler” adli degiskenin degerini Null olarak belirleyebilirsiniz.

function test1 {
Param(
    [Parameter(Mandatory)]
    [AllowNull()]
    [hashtable]
    $isimler
)
write-host $isimler
}

function test1 {
    Param(
        [Parameter(Mandatory)]
        [hashtable]
        $isimler
    )
    
    write-host $isimler
    
}
    
    
    
Continue Reading PowerShell Fonksiyonlari Icindeki Gelismis Parametreler – 3 – AllowNull Ozelligi

PowerShell ile Fonksiyon Islemleri – 8 – Fonksiyonlar icinde ValidateSet ile Zorunlu Parametre Degerleri Belirlemek

Bir parametrenin alcacagi degerleri onceden fonksiyon icine tanimlarsaniz, o degerler disinda bir degerin kullanici tarafindan verilememesini saglarsiniz. Boylece kullaniciya sadece belirli opsiyonlar icinden secim yapma sansi tanimis olursunuz.

function Meyve-Sec {
Param(
    [Parameter(Mandatory)]
    [ValidateSet("Elma", "Armut", "Karpuz")]
    [string[]]
    $Meyve
)
write-host "$meyve meyvesini sectiniz"
}
Continue Reading PowerShell ile Fonksiyon Islemleri – 8 – Fonksiyonlar icinde ValidateSet ile Zorunlu Parametre Degerleri Belirlemek

PowerShell ile Fonksiyon Islemleri – 7 – Fonksiyonlar icinde Parametre Setleri Kullanmak

Bir fonksiyon icinde birden fazla parametre seti kullanabilirsiniz. Boylece kullanici, fonksiyonucagirirken hangi parametreleri kullanmissa ona gore ilgili islemleri dinamik olarak yaptirabilirsiniz. Ornegin bir fonksiyon icinde 3’u bir set, diger 4’u ayri set icinde olmak uzere toplam 7 adet parametre varsa, kullanici bu iki setten birini secerek parametrelerini vermek durumundadir. Boylece verilen parametrelere gore PowerShell ilgili fonksiyonu cagirir.

function fonksiyon1 {
    param (
        [Parameter(ParameterSetName = 'isimler')]$isim,
        [Parameter(ParameterSetName = 'isimler')]$soyisim,
        [Parameter(ParameterSetName = 'kompleIsim')]$kompleIsim
    )
   
        
    
 if($kompleIsim){
    write-host "Komple isim parametresini kullanmissiniz. Tam isminiz: $kompleIsim"
 }else{
    write-host "Adinizi ve Soyadinizi ayri ayri parametreler seklinde vermissiniz. Adiniz: $isim, soyadiniz ise: $soyisim"
 }   

}
Continue Reading PowerShell ile Fonksiyon Islemleri – 7 – Fonksiyonlar icinde Parametre Setleri Kullanmak

PowerShell ile Fonksiyon Islemleri – 6 – Fonksiyon icinde ValueFromPipelineByPropertyName kullanmak

Fonksiyon parametre degerinin pipeline icindeki baska bir parametrenin degeri olarak kullanilmasini da saglayabiliriz. Bunun icin pipeline icindeki (sol taraftaki komut) komutun parametre ismi ile fonksiyon icindeki parametre isminin ayni olmasi gerekir. Ornegin; Get-Service komutunu pipeline’nin sol tarafinda belirtirsek ve -Name parametresini kullanirsak, buradaki Name degeri, pipeline’nin sag tarafinda bizim cagirdigimiz fonksiyonun de Name degeri olarak kullanilacak demektir. Eger fonksiyon icinde Name yerine baska bir parametre ismi kullanirsam PowerShell hata verecektir. Cunku onun aradigi isim Name’dir.

function Get-ServiceDetails{
Param(
    [Parameter(Mandatory,
    ValueFromPipelineByPropertyName)]
    [string[]]
    $Name
)
$name
}
Continue Reading PowerShell ile Fonksiyon Islemleri – 6 – Fonksiyon icinde ValueFromPipelineByPropertyName kullanmak