Ana sayfa→Yazılım & İşletim Sistemleri
Yazılım & İşletim Sistemleri

PowerShell Profilim Her Terminal Açılışında Onlarca Küçük İşlem Çalıştırıyor ve İş Yükümü Yarıya Düşürüyor.

PowerShell, Windows 11 'de en çok kullandığım yardımcı program. Birkaç ev sunucusu barındırıyor ve SSH kullanarak ana bilgisayarımdan sunuculara bağlanıp…

User Avatar
Ahmet AvcıEditör
4 dk okuma

PowerShell, Windows 11‘de en çok kullandığım yardımcı program. Birkaç ev sunucusu barındırıyor ve SSH kullanarak ana bilgisayarımdan sunuculara bağlanıp yönetiyorum. Bu nedenle, her iki sunucu için de aynı komutları tekrar tekrar yazıyorum. Bekleneceği gibi, iki ayrı sunucuyu yönetmek onlara giriş yapmayı ve barındırılan araçların düzgün çalışıp çalışmadığını kontrol etmeyi gerektiriyor. Ayrıca sistemin internete bağlanıp bağlanmadığını doğrulamam ve son hatalar olup olmadığını kontrol etmem gerekiyor.

Mevcut iş akışım bu görevlerde çok fazla zaman israf ediyor, bu yüzden bir PowerShell profili oluşturmaya karar verdim. Bu, PowerShell’i her başlattığımda tüm bu işlemleri çalıştırıp beni gerçek işler için serbest bırakacaktı. Neden siz de birini kullanmanız gerektiğini keşfedelim, özellikle otomasyona meraklıysanız.

PowerShell profili sıradan görevleri üstlenir

Her şeyi kontrol eden bir betik

Bir PowerShell profili kullanmanın tek amacı, her oturumda yaptığınız sıradan görevlerin çoğunu otomatikleştirmek. Sunucularla etkileşime geçmeden önce yapmam gereken kontrollerin çoğunu zaten açıkladım. Bu yüzden mümkün olan şey, bir betik dosyası ile özel bir profilin birleşimi.

SayarBilgi sitesini Google’da tercih edilen kaynak olarak seç

Betikte istediğiniz her şeyi tanımlarsınız, sonra profili her yeni PowerShell oturumunda bunu çalıştıracak şekilde yapılandırırsınız. Basit bir betikten daha gelişmiş çünkü araç aslında sunuculara SSH üzerinden bağlanır, birkaç komut çalıştırır ve çıktılarını PowerShell penceresinde gösterir. Hatta bu sunucuları yönetmek için oldukça yararlı olan birkaç özel komut da içeriyor.

PowerShell’de takma adlar kullanırım çünkü bunlar aşırı uzun komutları kısaltmaya yardımcı olur. Ancak betik takma adları atlar ve erişim gibi bir dizi işlev için küçük komutlar oluşturur. Örneğin, bir SSH komutu bir hedef cihaz adresi ve parola gerektirir. Ancak betiğimin özel SSH komutları sunucuya doğrudan ssh113 ve ssh110 ile bağlanır.

Ön kontroller sistem erişilebilirliğini inceler

Bağlantı durumları ve diğer istatistikler

Script, tüm gerekli istatistikleri tek bir yerde gösteren bir CLI panosu oluşturur. Bilgisayarın sürümü ve çalışma süresi dahil olmak üzere ana bilgisayar bilgisinin ayrıntılarıyla başlar. SSH, internet olmadan yerel ağ üzerinde çalışabileceğinden, script ayrıca internet erişimini ve DNS çözümlemesini de kontrol eder. Ardından uygulama bağlantısına geçer ve kullanılabilir tüm uygulamaları ile doğru URL’lerini listeler.

Profil scripti temel sistem kontrolünü tamamladıktan sonra bireysel sunucu kontrollerine geçer. Ancak sunucudan tüm istatistikleri çekmek için sunucuya giriş yapmam gerekmiyor mu? Hayır. Geleneksel bir SSH oturumu, bir sunucuya bağlanmak istediğinizde şifre girmenizi gerektirir. Ancak bu sık tekrarlanan kimlik doğrulamasını atlamak için bir SSH anahtarı kullanabilirsiniz. Windows’ta OpenSSH yerleşik olarak gelir ve şifresiz erişimi sağlayacak bir anahtar üretmek için bunu kullanabilirsiniz.

Anahtarı oluşturduktan sonra bir .ssh dizini oluşturmanız ve genel anahtarınızı hedef cihazların tümünde authorized_keys dosyasına eklemeniz gerekir. Bu tek seferlik bir çabadır ve artık şifre kimlik doğrulamasıyla uğraşmanıza gerek yoktur. Script sunucuya SSH ile erişir ve ardından temel bir sistem raporu oluşturmaya başlar.

Yaygın sistem ayrıntılarını gösterir, ardından Docker konteyneri ve hizmet durumu gibi asıl konulara geçer. Mevcut sıcaklığı, bind bağlamaları, güncellemeleri ve devre dışı hizmetleri de görüntüleyebilirim. İnce istemci üzerinde bir Kopia sunucusu üzerinde deney yapıyordum ve şu anda Immich için yer açmak amacıyla devre dışı bırakılmış durumdadır. Panosu, konteynerin mevcut ancak aktif olmadığını ve kaç gündür böyle olduğunu bildirir.

Ardından ağdaki tüm Tailscale cihazlarını ve şu anda hangilerinin aktif olduğunu raporlar. Yakın zamandaki hatalara dair kısa bir özetin yanı sıra DNS ve internet kontrollerini de içerir. Sonra sıradaki sunucu bölümü başlar ve aynı ölçümleri tekrarlar. Bir konteynerin sağlıksız durumuna nasıl tepki verdiğini görmek için konteynerlerle bilinçli olarak oynadım. Raporlar yapılandırma dosyasında bir sorun olduğunu gösterdi ve ardından script birkaç komutu gösterdi.

Screenshot of Glance featuring community widghets for monitoring a Proxmoix node and showing ongoing Steam sales

Üçüncü taraf bir araçtan iyi

PowerShell profilleri çok şey yapabilir

Neden bir PowerShell profili ile kurulum yapmayı seçtiğimi düşünüyor olabilirsiniz. Basit izleme için bir web pan yeterli olmaz mıydı? Sunucularınızdan veri çeken ayrı bir web paneli harika bir fikir. Ancak bu panellerin çoğu çok sınırlı kontrol sunuyor. Bunları daha önce denemediğimi sanmayın. Geçmişte Homarr ve Glance’ı kullandım, ayrıca Docker sistem izlemesi için Beszel ve Glances’ı da kullandım.

Ancak bunlar özel PowerShell profilimin panelinden daha düşük. Kendi kendine barındırılan paneller genellikle kontrolü yalnızca Docker sistemleriyle sınırlar ve işletim sistemi ana bilgisayırını değiştirme imkanı sunmaz. Bu yüzden yine de SSH kullanmak zorundayım ve bir tarayıcı paneli ile SSH oturumu arasında geçiş yapmak yorucu görünüyor.

PowerShell profilim, neyin çalışıp neyin acilen dikkat gerektirdiğine dair doğru raporlarla çok daha iyi bir panel oluşturuyor. Sunucumda olan her şeye dair özeti tek bir terminal penceresinde görüyorum. Barındırılan bir panel, sunucu tepkisiz veya kapalıysa çökebilir; ancak profilim aynı zayıflığı paylaşmıyor. Kullanılabilir sunucular üzerinde işlem yapıyor, bağlanamadıkları için hata mesajları üretiyor.

PowerShell profillerini deneyin

Bunları otomatikleştirmek için betikler ve Görev Zamanlayıcı kullanıyorum ancak PowerShell profilleri farklı bir seviyede çalışıyor. Özel profilim, geçerli sistem ve sunucular hakkındaki her küçük detayı kontrol eden bir panel gibi davranıyor. PowerShell’i her başlattığımda çalışıyor ve başka herhangi bir araca bağlı değil. Ancak mevcut profilim Linux sunucular için iyi çalışıyor; ikincil bir Windows bilgisayarda kullandığım bir WSL makinesini dahil edecek şekilde değiştirmem gerekecek. Ayrıca komut satırı panelini biraz daha davetkar kılabilecek pek çok kozmetik iyileştirme için de yer var.

Windows 11 Pro physical retail box

Windows 11 Pro için bir USB kurulum sürücüsü ve Hyper-V ile Windows Sandbox desteği gibi ek özellikler içeren bir lisans anahtarı.

İlginizi Çekebilir: İyi Avcu mu, İyi Atış Seçicisi mi? Python ile Bu Sorunun Cevabını Bulmak →
Kaynak: XDA Developers ↗Kaynak yazarı: Abhishek Kumar Mishra
💬 SayarBilgi Topluluğu

Bu Gelişmeyi Toplulukta Değerlendirin

Haber hakkındaki düşüncelerinizi, donanım deneyimlerinizi ve teknik sorularınızı topluluk üyeleriyle anlık olarak tartışın.

Topluluk Canlı Akışı →
💬 Topluluk Masası & Tartışma

Bu gelişme hakkında düşüncelerinizi, donanım deneyimlerinizi veya sorularınızı Topluluk Forumumuzda paylaşın.

Foruma Katıl & Yanıtla ➔
Forumda sor / tartış
TOPLULUĞUN SESİ

Söz sizde.

0 yorum

Deneyiminizi, sorularınızı ve katkılarınızı paylaşın. E-posta adresiniz yayımlanmaz.

Sohbete katıl

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Yorumunuz yayımlanmadan önce onay bekleyebilir.

BİR SONRAKİ OKUMA

Merak etmeye devam

Tümünü gör ↗

Neyi merak ediyorsun?

En az 3 karakter yazın.

Keşfet