logo
eng-flag

PowerShell Notları ve İpuçları

İçindekiler

  1. Temel Komutlar
  2. Dosya ve Dizin İşlemleri
  3. Metin Manipülasyonu
  4. Süreç Yönetimi
  5. Ağ Komutları
  6. Sistem Bilgisi
  7. PowerShell'e Özgü Özellikler
  8. Değişkenler ve Veri Türleri
  9. Akış Kontrolü
  10. Fonksiyonlar ve Modüller
  11. Hata Yönetimi
  12. Uzaktan Erişim
  13. Güvenlik ve Çalıştırma Politikası

Temel Komutlar

Dosya Sistemi Üzerinde Gezinme

  • Çalışma dizinini yazdır: Get-Location veya pwd
  • Dizin değiştir: Set-Location [path] veya cd [path]
  • Ana dizine git: cd ~
  • Önceki dizine git: cd -

Örnek:

PS C:UsersUser> Get-Location
Path
----
C:UsersUser

PS C:UsersUser> Set-Location C:Windows
PS C:Windows>

Dosya ve Dizinleri Listeleme

  • Dosyaları ve dizinleri listele: Get-ChildItem veya dir veya ls
  • Gizli dosyalar dahil tüm öğeleri listele: Get-ChildItem -Force
  • Detaylı listeleme: Get-ChildItem | Format-List

Örnek:

PS C:> Get-ChildItem -Force

    Directory: C:
Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d--hs-        11/14/2023  10:14 PM                $Recycle.Bin
d--hsl        7/12/2023   3:51 AM                 Documents and Settings
d-----        7/12/2023   1:06 PM                 PerfLogs
d-r---        7/12/2023   3:51 AM                 Program Files
d-r---        7/12/2023   3:52 AM                 Program Files (x86)
d-----        7/12/2023   1:06 PM                 Users
d-----        11/15/2023  9:32 AM                 Windows

Dosya ve Dizin İşlemleri

Dosya ve Dizin Oluşturma

  • Boş dosya oluştur: New-Item -ItemType File -Name [filename]
  • Dizin oluştur: New-Item -ItemType Directory -Name [dirname]
  • İç içe dizinler oluştur: New-Item -ItemType Directory -Path [path/to/dirname] -Force

Örnek:

PS C:> New-Item -ItemType File -Name newfile.txt
PS C:> New-Item -ItemType Directory -Name newdir
PS C:> New-Item -ItemType Directory -Path deeply\nested\directory -Force

Kopyalama, Taşıma ve Silme

  • Dosya kopyala: Copy-Item [source] [destination]
  • Dizinleri yeniden kopyala: Copy-Item [source] [destination] -Recurse
  • Dosya veya dizin taşı/yeniden adlandır: Move-Item [source] [destination]
  • Dosya sil: Remove-Item [filename]
  • Dizin ve içeriğini sil: Remove-Item [dirname] -Recurse -Force

Örnek:

PS C:> Copy-Item file1.txt file2.txt
PS C:> Move-Item file2.txt newname.txt
PS C:> Remove-Item newname.txt
PS C:> Remove-Item olddir -Recurse -Force

Metin Manipülasyonu

Dosya İçeriğini Görüntüleme

  • Tüm dosyayı görüntüle: Get-Content [filename]
  • İlk birkaç satırı görüntüle: Get-Content [filename] -Head 10
  • Son birkaç satırı görüntüle: Get-Content [filename] -Tail 10

Örnek:

PS C:> Get-Content log.txt
PS C:> Get-Content log.txt -Tail 5

Arama ve Filtreleme

  • Dosyada desen arama: Select-String -Path [filename] -Pattern [pattern]
  • Dizinde özyinelemeli arama: Get-ChildItem -Recurse | Select-String -Pattern [pattern]

Örnek:

PS C:> Select-String -Path log.txt -Pattern "error"
PS C:> Get-ChildItem -Recurse | Select-String -Pattern "TODO"

Metin Düzenleme

  • Dosyayı varsayılan editörde aç: Invoke-Item [filename]

Örnek:

PS C:> Invoke-Item config.txt

Süreç Yönetimi

Süreçleri Görüntüleme

  • Tüm süreçleri listele: Get-Process
  • Belirli bir süreci al: Get-Process -Name [processname]

Örnek:

PS C:> Get-Process
PS C:> Get-Process -Name chrome

Süreçleri Yönetme

  • Yeni bir süreç başlat: Start-Process [path/to/executable]
  • Bir süreci durdur: Stop-Process -Name [processname]
  • Bir süreci ID ile durdur: Stop-Process -Id [processID]

Örnek:

PS C:> Start-Process notepad.exe
PS C:> Stop-Process -Name notepad

Ağ Komutları

Ağ Bilgisi

  • IP yapılandırmasını al: Get-NetIPConfiguration
  • Ağ bağlantısını test et: Test-NetConnection [destination]
  • DNS istemci önbelleğini al: Get-DnsClientCache

Örnek:

PS C:> Get-NetIPConfiguration
PS C:> Test-NetConnection www.google.com

Ağ İşlemleri

  • Dosya indir: Invoke-WebRequest -Uri [URL] -OutFile [filename]
  • Ping gönder: Test-Connection [destination]

Örnek:

PS C:> Invoke-WebRequest -Uri "https://example.com/file.zip" -OutFile "file.zip"
PS C:> Test-Connection 8.8.8.8

Sistem Bilgisi

  • Sistem bilgisini al: Get-ComputerInfo
  • Yüklü güncellemeleri al: Get-HotFix
  • Disk bilgilerini al: Get-Disk

Örnek:

PS C:> Get-ComputerInfo | Select-Object WindowsProductName, OsVersion, OsArchitecture

PowerShell'e Özgü Özellikler

Pipeline

  • Çıkışı iletmek için pipeline kullan: command1 | command2

Örnek:

PS C:> Get-Process | Where-Object {$_.CPU -gt 10} | Sort-Object CPU -Descending

Takma Adlar

  • Tüm takma adları al: Get-Alias
  • Yeni takma ad oluştur: New-Alias -Name [alias] -Value [command]

Örnek:

PS C:> New-Alias -Name proc -Value Get-Process

Değişkenler ve Veri Türleri

Değişkenlerle Çalışma

  • Değişken oluştur: $variableName = value
  • Değişken türünü al: $variableName.GetType()

Örnek:

PS C:> $name = "John"
PS C:> $number = 42
PS C:> $name.GetType()

Veri Türleri

  • Tam sayı: [int]
  • Ondalık sayı: [double]
  • String: [string]

Örnek:

PS C:> $integer = [int]42
PS C:> $float = [double]42.5
PS C:> $text = [string]"Hello"

Akış Kontrolü

Koşul Yapıları

  • If yapısı: if (condition) { commands }
  • Switch yapısı: switch (variable) { ... }

Örnek:

PS C:> if ($number -gt 10) { "Greater than 10" }
PS C:> switch ($dayOfWeek) { "Monday" { "Start of the week" } "Friday" { "End of the workweek" } }

Döngüler

  • For döngüsü: for ($i = 0; $i -lt 10; $i++) { commands }
  • While döngüsü: while (condition) { commands }

Örnek:

PS C:> for ($i = 0; $i -lt 5; $i++) { Write-Output $i }
PS C:> $i = 0; while ($i -lt 5) { Write-Output $i; $i++ }

Fonksiyonlar ve Modüller

Fonksiyonlar

  • Fonksiyon tanımlama: function FunctionName { ... }
  • Fonksiyonu çağırma: FunctionName

Örnek:

PS C:> function Greet { param([string]$name) "Hello, $name!" }
PS C:> Greet -name "John"

Modüller

  • Yüklenen modülleri listele: Get-Module
  • Modül yükle: Import-Module [moduleName]
  • Modül yüklemeyi kaldır: Remove-Module [moduleName]

Örnek:

PS C:> Import-Module Az
PS C:> Get-Module
PS C:> Remove-Module Az

Hata Yönetimi

Hata Yakalama

  • Try/Catch/Finally yapısı: try { commands } catch { commands } finally { commands }

Örnek:

PS C:> try { $result = 1 / 0 } catch { Write-Output "Error occurred" } finally { Write-Output "Done" }

Uzaktan Erişim

Uzak Sunucuya Bağlanma

  • Uzak PowerShell oturumu aç: Enter-PSSession -ComputerName [remoteComputerName]
  • Oturumu kapat: Exit-PSSession

Örnek:

PS C:> Enter-PSSession -ComputerName Server01
PS Server01> Get-Process
PS Server01> Exit-PSSession

Güvenlik ve Çalıştırma Politikası

Çalıştırma Politikaları

  • Geçerli politikayı kontrol et: Get-ExecutionPolicy
  • Politika ayarla: Set-ExecutionPolicy [policy]

Örnek:

PS C:> Get-ExecutionPolicy
PS C:> Set-ExecutionPolicy RemoteSigned

2024 © Tüm hakları saklıdır - buraxta.com