👨‍💻 PowerShell
Windows PowerShell kullanımı

✨ PowerShell'i Güncelleme

  • 👨‍💻 Powershell GitHub sayfasından 🏷️ Release alanına girin
  • 📦 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
1
Set-PSReadLineKeyHandler -Key Ctrl+w -Function BackwardKillWord
2
Remove-PSReadLineKeyHandler -Key Ctrl+w
Copied!

🐧 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
1
# Ctrl W tuşu ile kelime silme
2
Set-PSReadLineKeyHandler -Key Ctrl+w -Function BackwardKillWord
3
4
# Tab tuşu ile kelime tamamlama (Complete yerine MenuComplete de olur)
5
Set-PSReadlineKeyHandler -Key Tab -Function Complete
Copied!
‍🧙‍♂ Detaylı bilgi için How to make PowerShell tab completion work like Bash alanına bakabilirsin.

💠 Fonksiyon Tanımlama

1
# Script için admin yetkisi zorunlu kılma
2
#Requires -RunAsAdministrator
3
4
function TestFunc {
5
# Parametre tanımlaması
6
param(
7
[Parameter(Mandatory=$true, HelpMessage="Username")]
8
[string]$Username,
9
10
[Parameter(Mandatory=$false, HelpMessage="Name")]
11
[string]$Name,
12
)
13
14
echo "$Username, $Name"
15
}
Copied!

🔤 String içerisinde string arama

1
// String aramaları büyük küçük harfe duyarlıdır
2
"yemreak.com".IndexOf("Yemreak") // -1
3
"yemreak.com".IndexOf("yemreak") // 0
4
5
// Aşağıdaki gibi flag vererek bunu kapatabiliriz
6
"yemreak.com".IndexOf("Yemreak", [System.StringComparison]::CurrentCultureIgnoreCase) // 0
Copied!
‍🧙‍♂ 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

1
$url = "https://www.autohotkey.com/download/1.1/AutoHotkey_1.1.31.01_setup.exe"
2
$output = "$PSScriptRoot\ahk_install.exe"
3
4
$wc = New-Object System.Net.WebClient
5
6
$UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)"
7
$wc.Headers.Add([System.Net.HttpRequestHeader]::UserAgent, $UserAgent);
8
9
$wc.DownloadFile($url, $output)
Copied!
3 ways to download files with PowerShell
jourdant
Last modified 1yr ago