PowerShell Script Nedir ve Nasıl Yazılır?

PowerShell, sistem yöneticileri ve BT uzmanları için geliştirilmiş güçlü bir otomasyon aracıdır.
Basit komutlardan karmaşık işlemlere kadar her şeyi yapabilen PowerShell, Windows yönetiminde en çok tercih edilen araçlardan biridir.

Bu yazıda, PowerShell script nedir sorusuna yanıt verecek ve ilk PowerShell script’inizi nasıl yazacağınızı adım adım göstereceğiz.

PowerShell Script Nedir?

PowerShell script, bir veya birden fazla komutu içeren .ps1 uzantılı dosyalardır.
Bu dosyalar, tekrar eden işleri otomatikleştirmenizi sağlar.
Örneğin, belirli klasörlerdeki eski dosyaları silmek, Active Directory kullanıcılarını dışa aktarmak veya SCCM istemci işlemlerini uzaktan başlatmak gibi görevleri tek komutla gerçekleştirebilirsiniz.

PowerShell Script Dosyası Nasıl Oluşturulur?

PowerShell script dosyaları .ps1 uzantısıyla kaydedilir.
Bunu Not Defteri, Visual Studio Code veya PowerShell ISE ile kolayca oluşturabilirsiniz.

Basit bir örnek:

# Merhaba Dünya Scripti
Write-Host "Merhaba TolgaCeyhan.com!"

💡 Not: Script’leri çalıştırmadan önce PowerShell güvenlik politikası nedeniyle hata alabilirsiniz.
Aşağıdaki komutla çalıştırma iznini etkinleştirebilirsiniz:

Set-ExecutionPolicy RemoteSigned

Değişkenler ve Veri Türleri

PowerShell’de değişkenler $ işaretiyle tanımlanır.

$isim = "Tolga"
$yas = 30
Write-Host "$isim, $yas yaşında."

Bu şekilde script’inizde dinamik verilerle işlem yapabilirsiniz.

Koşullar ve Döngüler

Script’lerde karar verme yapıları otomasyonun temelidir.

$cpu = Get-WmiObject Win32_Processor | Select-Object -ExpandProperty LoadPercentage

if ($cpu -gt 80) {
Write-Host “CPU kullanımı yüksek: $cpu%”
} else {
Write-Host “CPU kullanımı normal: $cpu%”
}

Fonksiyonlar (Functions)

Fonksiyonlar, script’leri modüler ve okunabilir hale getirir.

function Get-DiskInfo {
$disks = Get-PSDrive -PSProvider 'FileSystem'
foreach ($disk in $disks) {
Write-Host "$($disk.Name): $([math]::Round($disk.Free/1GB,2)) GB boş alan"
}
}
# Fonksiyonu çağır
Get-DiskInfo

PowerShell Script Nasıl Çalıştırılır?

  1. PowerShell’i Yönetici olarak açın.

  2. Script dosyasının bulunduğu klasöre gidin:

    cd "C:\Scripts"
  3. Script’i çalıştırın:

    .\merhaba.ps1

İpucu: Başına .\ koymak, script’in bulunduğu dizinden çalıştırılacağını belirtir.

Gerçek Hayat Örneği: Log Temizleme Script’i

Aşağıdaki örnek, C:\Logs klasöründeki 7 günden eski log dosyalarını otomatik olarak siler.

# C:\Logs klasöründeki 7 günden eski log dosyalarını siler
$logPath = "C:\Logs"
$days = 7
Get-ChildItem -Path $logPath -Filter *.log | Where-Object {
$_.LastWriteTime -lt (Get-Date).AddDays(-$days)
} | Remove-Item -ForceWrite-Host “$days günden eski log dosyaları temizlendi.”

Bu tür script’ler sistem bakımında zamandan tasarruf sağlar ve insan hatasını ortadan kaldırır.

Artık PowerShell script oluşturmanın temellerini biliyorsunuz:

  • .ps1 dosyası oluşturmak

  • Değişken, döngü ve koşul kullanmak

  • Script’i PowerShell üzerinde çalıştırmak

Bir sonraki yazıda, “PowerShell ile Active Directory Kullanıcılarını CSV’ye Aktarma Scripti” konusuna geçeceğiz.

Tolga CEYHAN

Tolga CEYHAN, bilgi teknolojilerini severek takip eder ve BT üzerine hali hazırda aktif olarak çalışmaktadır. 2006 yılından 2017 yılına kadar web tasarım yazılım üzerine çalışmalar yaptım. Şuan ise Windows Sistem ve Sistem Güvenliği alanında çalışmalarımı sürdürmekteyim.

Recent Posts

PowerShell Komutları (Profesyonel Rehber)

Birçok kişi PowerShell komutları konusuna yalnızca “hangi komut ne işe yarar?” düzeyinde yaklaşır. Oysa profesyonel…

1 ay ago

Windows File Server Migration Rehberi (Adım Adım Veri Taşıma)

Kurumsal IT altyapılarında zamanla depolama ihtiyaçlarının artması, eski sunucuların performansının yetersiz kalması veya yeni mimariye…

1 ay ago

NTFS Permission Tasarımı ve AGDLP Modeli Rehberi

NTFS Permission Tasarımı: AGDLP Modeli ile Kurumsal Yetkilendirme Rehberi Kurumsal ortamlarda NTFS permission tasarımı, dosya…

2 ay ago

Windows File Server Güvenliği Rehberi

Kurumsal yapılarda Windows File Server güvenliği, veri bütünlüğü ve iş sürekliliği açısından kritik öneme sahiptir.…

2 ay ago

Blockchain Mantığı ile PowerShell Log Bütünlüğü

Blockchain Log Bütünlüğü Bu yazımızda blockchain log bütünlüğü üzerine incelemelerde bulunacağız. Günümüz kurumsal sistemlerinde en…

3 ay ago

PowerShell SQL Backup Script – Automated Full Database Backup

A PowerShell SQL Server backup script is a practical way to standardize SQL backups across…

3 ay ago

This website uses cookies.

Read More