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