PowerShell ile IT Otomasyonu: Pratik Script Örnekleri

PowerShell artık IT yöneticilerinin İsviçre çakısı. Windows + Linux + Cloud üç ekosistemde de çalışıyor. Kullanıcı oluşturma, raporlama, sunucu sağlık kontrolü gibi tekrarlayan işleri saatlerden saniyelere düşürür. Bu rehberde günlük IT işleri için pratik örnekler veriyoruz.

PowerShell Temelleri

PowerShell nesne tabanlıdır — Bash gibi text değil. Pipeline ile veri dönüştürmek çok kolay.

Komutlar Verb-Noun formundadır: Get-Service, Set-User, Remove-Item. Tahmin edilebilir.

AD Kullanıcı Otomasyonu

Yeni çalışan onboarding'i için 30 dk yerine 30 saniye:

Import-Csv yeni-calisanlar.csv | ForEach-Object { New-ADUser -Name $_.AdSoyad -SamAccountName $_.Kullanici -UserPrincipalName "$($_.Kullanici)@sirket.com" -AccountPassword (ConvertTo-SecureString $_.Sifre -AsPlainText -Force) -Enabled $true -Path "OU=Calisanlar,DC=sirket,DC=com" }

Pasif kullanıcıları (90 gün giriş yapmayanlar) bulma: Search-ADAccount -AccountInactive -TimeSpan 90.00:00:00

Disk ve Sunucu Raporu

Tüm sunucularda disk kullanımı raporu:

$servers = Get-Content servers.txt; foreach ($s in $servers) { Get-WmiObject Win32_LogicalDisk -ComputerName $s | Where DriveType -eq 3 | Select PSComputerName, DeviceID, @{n='SizeGB';e={[math]::Round($_.Size/1GB,2)}}, @{n='FreeGB';e={[math]::Round($_.FreeSpace/1GB,2)}}, @{n='Free%';e={[math]::Round(($_.FreeSpace/$_.Size)*100,1)}} } | Export-Csv disk-rapor.csv -NoTypeInformation

SSL Sertifika İzleme

30 gün içinde dolacak sertifikaları bul:

Get-ChildItem Cert:\LocalMachine\My | Where {$_.NotAfter -lt (Get-Date).AddDays(30)} | Select Subject, NotAfter, Thumbprint

Bunu Scheduled Task ile haftalık çalıştırıp e-posta atın. Sürpriz sertifika expire = production downtime.

En İyi Pratikler

Script'leri SourceTree/Git ile versiyonlayın. Her değişiklik geri alınabilir.

-WhatIf ve -Confirm parametrelerini her zaman test edin. Remove-ADUser'ı önce -WhatIf ile çalıştırın.

Smyrna Bilgi Teknolojileri olarak İzmir'deki kurumlara PowerShell otomasyonu danışmanlığı yapıyoruz.

Sıkça Sorulan Sorular

PowerShell Linux'ta çalışır mı?

Evet. PowerShell 7+ Windows, Linux, macOS'ta çalışır. Tek bir script ile çoklu OS yönetimi mümkün.

Execution policy hatası alıyorum, ne yapmalıyım?

Set-ExecutionPolicy RemoteSigned -Scope CurrentUser ile imzalı uzaktan script ve yerel script çalışır. -Scope LocalMachine ise yönetici gerekir.

PowerShell mi Bash mi öğrenmeli?

Windows ortamı varsa PowerShell. Sadece Linux varsa Bash. İkisini de öğrenmek modern DevOps'ta avantaj.

Yardıma mı ihtiyacınız var?

İzmir Bayraklı merkezli ekibimiz aynı gün yerinde müdahale ediyor.

+90 542 767 00 29 Teklif Al

İlgili konular: Active Directory · Group Policy