Windows 2008 ile hayatımıza giren PowerShell özelliği sayesinde, sistemleri grafik ara yüz ortamlarda yönetebildiğimizden daha fazla şekilde yönetebilmekteyiz. Kullanımı grafik ara yüz kadar kolay olmasa da grafik ara yüzden daha fazla ve daha hızlı işlemler yapabildiğimizi söyleyebiliriz.
Örnek olarak Windows Server 2016 üzerinde grafik ara yüzden 100 kullanıcı açmak ile PowerShell üzerinden 100 kullanıcı açmak arasında çok iş gücü ve zaman farkı olmaktadır. Tabi ki bu işi PowerShell ile hızlı ve efektif yapmaktayız.
PowerShell Windows Server 2008’den bu yana çok yol kat etti. Kütüphaneler, komut setleri çok gelişti. Buna ek olarak PowerShell Web üzerinden kullanılabilmekte olup, belirlenen kullanıcılar Web üzerinden yönetilebilir duruma geldi.
Şimdi Web üzerinden sistemlerimizde nasıl PowerShell kullanacağımıza göz atalım. Mimari aşağıdaki gibi işlemekte. Web üzerinden gelen kullanıcı ilgili Web Access sunucusunu geçerek yetkisi dahilinde arka plandaki sunucularda işlemlerini yapabilmekte.
CP isimli Workgroup bir Windows Server 2017 sunucum var. Windows Server 2017 şu anda release olmuş bir sürüm değil. Windows Server 2016 ile aynı düşünebiliriz.
Server Manager üzerinde aşağıdaki alandan Add roles and features alanına tıklayarak rol ekleme adımlarına başlayabiliriz.
Açılan ekranda sihirbaz ile yapabileceklerimiz noktasında bilgi verilmektedir. Next ile bir sonraki ekranımıza ilerleyelim.
Açılan ekranımızda iki seçeneğimiz yer almaktadır. Bunlardan birincisi olan;
Role-based or feature-based insallation : Rol ve Özellik bazında ekleme kurulum yapma imkânı verir. Windows Server 2016 içerisinde sahip olduğumuz sürüme göre, içerisinde bulunan ve ihtiyacımız olan rol ve özellikleri buradan ekleyip kaldırabilmekteyiz.
Remote Desktop Services installation: Eski zamanlarda Terminal Servis olarak anılan ve şimdi RDS (Remote Desktop Services) uzak masaüstü yapılandırmasını hızlı ve standart olarak buradan yapabilmekteyiz.
Bu nedenle biz IIS rolünü kuracak olduğumuz için Role-based or feature-based insallation seçimini yaparak Next ile ilerliyoruz.
Windows Server 2008 ve 2012 ile birlikte sunucu kümesi oluşturarak bu küme üzerine toplu olarak ve farklı bir sunucu üzerinden Rol ve Özellik ekleme ve kaldırma işlemleri yapabilir duruma geldik. Tabi bu işlem Windows Server 2012 üzerinden doğrudan yapılabilirken Windows Server 2008’e bazı özellikler katmamız gerekiyordu. Bizim ortamımızda tek bir sunucumuz olduğundan ve bu sunucumuza IIS rolünü kuracak olduğumuzdan Adı, ip adresi ve versiyon bilgisi sunulan sunucumuzu seçerek Next ile ilerliyoruz.
Bu ekranda biz roles eklemesi yapmayacağımız için Next ile sonraki adıma ilerliyoruz.
Features ekranında Windows PowerShell rolü altında yer alan Windows PowerShell Web Access özelliğini seçmemiz gerekmekte.
Bu özelliğin kurulabilmesi için birkaç gereksinim bulunmakta. Bunlar uyarı şeklinde aşağıdaki ekranda olduğu gibi bize bildirilmekte. Otomatik olarak özelliğin kurulabilmesi için sistemin aşağıdaki bileşenleri yüklemesi için Add Features butonuna tıklayarak bu adımı tamamlayalım.
Şu anda özelliğimiz seçili duruma geldi. Next ile sonraki adıma ilerleyebiliriz.
Sistemde IIS gereksinimi olduğu için ve bunun kurulmasını birkaç adım önce onayladığımız için IIS rolünün yapılandırması ile ilgili bir ekran karşımıza geldi. Next ile sonraki adıma ilerleyelim.
IIS için gerekli olan alt bileşenleri yine Next ile geçelim.
Restart the destination server automatically if requred seçimini yaparak rollerin kurulumu sonrası yeniden başlatma gerekmesi durumunda bu işlemin otomatik olarak gerçekleşmesini sağlayalım.
Karışımıza gelen sorun ekranında YES butonuna tıklayalım ve yeniden başlama işlemine onay verdiğimizi belirtmiş olalım.
Bu ekranımızda Install butonumuza tıklayarak kurulum işlemimizi başlatalım.
Rolümüz kuruldu Close ile ilgili ekranı kapatalım.
Doğrudan sistemi kurduk ancak sistemin kullanılabilmesi adına birkaç gereksinimi aşağıda sıralıyor olacağım. Bu rolümüz Windows Server 2012, 2012R2 ve 2016 üzerine kurulabilmekte.
Desteklenen tarayıcılar: Windows® Internet Explorer® for Microsoft Windows® 8.0, 9.0, 10.0, and 11.0, Mozilla Firefox® 10.0.2, Google Chrome™ 17.0.963.56m for Windows, Apple Safari® 5.1.2 for Windows, Apple Safari 5.1.2 for Mac OS®
Mobile tarayıcılar: Windows Phone 7 and 7.5, Google Android WebKit 3.1 Browser Android 2.2.1, (Kernel 2.6), Apple Safari for iPhone operating system 5.0.1, Apple Safari for iPad 2 operating system 5.0.1
Yukarıdaki kurulum işlemlerini aşağıdaki PowerShell komut seti ile yapmamızda mümkün. Bu yüzden PowerShell hızlı ve efektif.
Install-WindowsFeature WindowsPowerShellWebAccess
Kurulum sonrası bir sertifika oluşturmamız gerekmekte. Bu adımı yine PowerShell üzerinden yapıyor olacağız. PowerShell ekranımızı açarak aşağıdaki komutu çalıştıralım.
Install-PswaWebApplication –useTestCertificate
Aşağıdaki komut ile kullanıcıların hangi sunuculara hangi haklarla atanacağı konusunda tanımlama yapalım. Ben test sisteminde olduğum için full olarak her yetkiyi veriyorum.
Add-PswaAuthorizationRule –ComputerName * -UserName * -ConfigurationName *
Siz detaylı kısıtlamayı Troubleshooting Access Problems in Windows PowerShell Web Access | Microsoft Docs buradaki adımlara göre uygulayabilirsiniz.
Yapıdaki mevcut kuralları ise aşağıdaki komut seti ile görebilirsiniz.
Get-PswaAuthorizationRule
Evet gerekli yapılandırma tamamlandı. Desteklenen browser türlerinden herhangi birinden girerek adres satırına https://Sunucuismi veya ipadresi/pswa yazarak PowerShell Web Access Login ekranını açalım.
Biz tüm kullanıcılarımıza izin vermiştik. Benim sisteminde şu anda Administrator kullanıcısı olduğundan bu kullanıcı bilgilerimi girip login olmayı deniyorum.
Başarılı bir şekilde login olduk ve PowerShell web üzerinden karşımıza geldi.
İlgili sunucu üzerindeki PowerShell üzerinden birkaç komut çalıştıralım. Örnek olarak masaüstünde Test isimli bir klasör oluşması için md test komutunu giriyorum.
Bağlanmış olduğumuz sunucunun masaüstünü kontrol ettiğimizde test klasörünün oluştuğunu görebilmekleyiz.
Şimdi ağdaki farklı bir bilgisayar üzerinden bağlantı kurmak istiyorum. Güvenlik duvarını ben devre dışı bıraktım. Siz tabi ki bunu yapmayarak sadece ilgili porta izin vermelisiniz.
Kendi bilgisayarım üzerinden yine gerekli kullanıcı bilgilerini giriyorum ve login olmayı deniyorum.
Şu anda kendi bilgisayarım üzerinden sunucu üzerindeki PowerShell üzerine login olmuş durumdayım.
Deneme amaçlı olarak masaüstünde yer alan klasör içine test2 isminde bir klasör açmak için md test2 komutunu giriyorum.
Yine sunucumda test amaçlı bilgisayar ismi ve ip adres bilgisine göz atıyorum. Sonuçlar sorunsuz şekilde. PowerShell tüm benliği ile hizmetimizde. Çıkarken mevcut oturumu Save edip çıkmamız durumunda daha sonra bu oturuma bağlanma imkanına da sahibiz.
Kaydettiğimiz oturumlar karşımıza aşağıdaki gibi gelmekte.
Son olarak oturumumuzu kapatıp çıkıyorum.
Bir makalemizin daha sonuna geldik. Umarım yararlı olur. Bir başka makalede görüşmek dileğiyle.