👨‍💻PowerShell

Windows PowerShell kullanımı

✨ PowerShell'i Güncelleme

  • 📦 MSIX paketini bulun ve indirin (link)

  • 🐞 This app package is not supported for installation by App Installer because it uses certain restricted capabilities uyarısı gelirse

    • ⚙️ Ayarlardan geliştirici modunu açın

    • 👨‍💻 Add-AppxPackage -Path $PathToMsix komutu ile paketi kurun

    • 📢 $PathToMsix alanına dosya yolunu yazmayı unutmayın

‍🧙‍♂ Detaylı bilgi için Can't install msix alanına bakabilirsin.

🤵 Profile Dosyası

  • Powershell her açıldığında derlenen dosyadır (linux bash-profile.sh gibi)

  • %USERPROFILE%\Documents\WindowsPowerShell\profile.ps1 dizininde bulunur

  • OneDrive için %USERPROFILE%\OneDrive\Documents\WindowsPowerShell\profile.ps1

💞 Kısayol Oluşturma

  • 🏗️ Kısayol oluşturmak için Set-PSReadLineKeyHandler

  • 🧹 Kısayol kaldırmak için Remove-PSReadLineKeyHandler

Set-PSReadLineKeyHandler -Key Ctrl+w -Function BackwardKillWord
Remove-PSReadLineKeyHandler -Key Ctrl+w

🐧 Bash gibi İşlevsellikler Katma

  • 📂 Profile dosyanızı açın (🤵 Profile Dosyası alanına bakabilirsiniz)

  • 📝 Açılan dosyanın en altın alttaki kod parçasını kopyalayın

# Ctrl W tuşu ile kelime silme
Set-PSReadLineKeyHandler -Key Ctrl+w -Function BackwardKillWord

# Tab tuşu ile kelime tamamlama (Complete yerine MenuComplete de olur)
Set-PSReadlineKeyHandler -Key Tab -Function Complete

‍🧙‍♂ Detaylı bilgi için How to make PowerShell tab completion work like Bash alanına bakabilirsin.

💠 Fonksiyon Tanımlama

# Script için admin yetkisi zorunlu kılma
#Requires -RunAsAdministrator

function TestFunc {
    # Parametre tanımlaması
    param(
        [Parameter(Mandatory=$true, HelpMessage="Username")] 
        [string]$Username,
        
        [Parameter(Mandatory=$false, HelpMessage="Name")] 
        [string]$Name,
    )
    
    echo "$Username, $Name"
}

🔤 String içerisinde string arama

// String aramaları büyük küçük harfe duyarlıdır
"yemreak.com".IndexOf("Yemreak") // -1
"yemreak.com".IndexOf("yemreak") // 0

// Aşağıdaki gibi flag vererek bunu kapatabiliriz
"yemreak.com".IndexOf("Yemreak", [System.StringComparison]::CurrentCultureIgnoreCase) // 0

‍🧙‍♂ Detaylı bilgi için How do I find the position of substring in PowerShell after position x?alanına bakabilirsin.

👨‍🔧 Kopyalanan Kodun Tersten Yazılma Sorunu

  • Powershell farklı bir EoF karakteri ile biten scriptleri tersten kopyalayabiliyor

  • Bu sorunu çözmek için önce not defterine yapıştırın, ardından oradakini kopyalayıp powershell üzerine yapıştırın

⏬ İndirme İşlemleri

$url = "https://www.autohotkey.com/download/1.1/AutoHotkey_1.1.31.01_setup.exe"
$output = "$PSScriptRoot\ahk_install.exe"

$wc = New-Object System.Net.WebClient

$UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)"
$wc.Headers.Add([System.Net.HttpRequestHeader]::UserAgent, $UserAgent);

$wc.DownloadFile($url, $output)

Last updated

© 2024 ~ Yunus Emre Ak ~ yEmreAk