Ana içeriğe atla

Powershell Kullanarak Windows Features Yönetimi (Import And Export)

Bu yazı Windows Server 2008, Windows Server 2008 R2, Windows Server 2012, Windows Server 2012 R2 ve Windows Server 2016 işletim sistemleri üzerinde kullanılabilecek bilgiler içerir. Yazıyı okumaya başlamadan önce yazı içerisinde kullanılacak Get-WindowsFeature ve Add-WindowsFeature cmdletleriyle ilgili detaylı bilgileri inceleyebilirsiniz. Kendi ortamınızda test yapmadan önce ServerManager modülünü import etmelisiniz, Import-Module cmdlet için de yine MSDN üzerindeki bilgilerden faydalanabilirsiniz. Umarım faydalı bir yazı olmuştur. Birden fazla sunucuya benzer kurulumları yapmak istediğimizde karşımıza operasyonel zorluklar çıkabiliyor. Bu işlemleri hızlandırmanın & standart bir hale getirmenin bir çok yolu var ancak bu yazıda bir sunucu üzerinde kurulu Windows Feature'ların powershell ile toplanarak, diğer bir sunucuda kurulması için en basit olduğunu düşündüğüm yöntemi paylaşacağım. İlk olarak servermanager modülünün Powershell sessionımıza import edilmesi gerekmektedir.
Import-Module ServerManager
Yüklü bileşenleri alacağımız sunucuda aşağıdaki powershell komutunu çalıştırdığımızda yüklü windows feature bileşenlerinin tamamını görebiliriz.
Get-WindowsFeature | Where-Object {$_.Installed}
Bu komuttan yola çıkarak, yüklü bileşenleri bir text dosyasına kaydedeceğiz.
Get-WindowsFeature | Where-Object {$_.Installed} | Select Name | ForEach-Object { $_.Name } | Out-File .\InstalledWindowsFeatures.txt
Not: Dosyanın export edildiği lokasyonu komutun en başındaki path bilgisinden edinebileceğimiz gibi aşağıdaki komut ile de edinebilirsiniz.
(Get-Item -Path ".\" -Verbose).FullName
Windows Feature bileşenlerinin dosyaya kaydettikten sonra bu bileşenleri install edeceğimiz sunucunun erişimi olan bir klasöre dosya kopyalanmalıdır. Ben D:\ drive altından okuyacak şekilde aşağıdaki gibi kullandım.
$(Get-Content D:\InstalledWindowsFeatures.txt) | Add-WindowsFeature
Eğer yazının başında belirttiğim gibi yeni bir sessionda servermanager modülünü import etmediyseniz, muhtemelen bu komutta hata almış olacaksınız. Windows Feature'ları yeni sunucuda yüklemeden önce Import-Module ServerManager komutuyla modülü import etmeyi unutmayınız.

Remote Session kullanarak yüklemek için aşağıdaki koumutları kullanabilirsiniz.

Kaynak sunucuda yüklü bileşenleri aldıktan sonra dosyayı karşı sunucuya kopyalamak için öncelikle aşağıdaki komutu kullanalım.
copy .\InstalledWindowsFeatures.txt \\sccmtstapp04\d$\InstalledWindowsFeatures.txt
Bu komutu çalıştırdıktan sonra Enter-PSSession cmdleti kullanarak uzaktaki sunucunun powershell sessionına baglantı kuruyoruz.
Enter-PSSession Server2
Son olarak remote sessionda Windows Feature'ları yeni sunucuda install ediyor olacağız.
$(Get-Content D:\InstalledWindowsFeatures.txt) | Add-WindowsFeature


Herkese kolay gelsin.

Yorumlar

Bu blogdaki popüler yayınlar

gMSA (group managed service account) and SQL Server

MSA (managed user account) teknolojisinin sorunlarından bir tanesi aynı MSA'i birden fazla computer objesinde kullanamamaktı. Bu nedenle de gMSA (group managed service account) duyuruldu. gMSA ile; Passwordler Active Directory tarafından yönetileceği için complex olurlar ve sık sık otomatik olarak değiştirilir (default 30 days). Passwordler 240 bytes uzunluğunda randomly şifrelenmiş olarak üretilir. Ek olarak interactive logon amaçlı kullanılamazlar, yanlış şifre girilmesi sonucunda meydana gelen lock-out olma durumuna yakalnmazlar. Şifre değişikliği sonrasında SQL Server Servisinin restart edilmesine gerek bulunmaz. Aşağıda belirtilen adımlar pre-reqlerin tamamlanmış olduğu varsayılarak step by step aktarılmıştır. Prerequisetlerle ilgili detaylı bilgilendirmeye  https://technet.microsoft.com/en-us/library/jj128431.aspx#BKMK_gMSA_Req  linkinden erişilebilir. 1-  Active Directory Users and Computers Altında Global Security Group Oluşturma gMSA 'i kullanacağımız sun

Import Active Directory Module in Powershell

Active Directory rolüne sahip olmayan bir workstation üzerinde AD yönetimi için powershell script çalıştırmak istiyorsanız öncelikle Remote Server Administration Tools feature’ini workstation üzerinde kurmalısınız. Kurulumu tamamlandıktan sonra aşağıdaki komut ile öncelikle modüller arasında ActiveDirectory modülünün olup olmadığı kontrol edilir, eğer modüller arasında ActiveDirectory modülü yoksa session bazında Import-Module cmd’letiyle Active Directory commandletleri kullanımımıza açılır. if ( -not ( Get-Module -Name ActiveDirectory -ea Continue )) { Import-Module ActiveDirectory -ea Stop } Umarım faydalı olur.  

Fun With Docker..ELK Stack- ElasticSearch

Herkese Merhaba, Fun with Docker yazı serisine ELK Stack kurulumunu aktaracak, yazı dizisi içerisinde yeni bir yazı dizisiyle devam etmeye karar verdim. Bilmeyenler için ELK, 3 ayrı open source proje olan Elasticsearch, Logstash ve Kibana projelerinin birleşiminden oluşan yine open source olarak kullanıma sunulan ve bakımı Elastic tarafından  yürütülen bir proje. Bu arada ELK Stack ile ilgili tüm detaylara  https://www.elastic.co/elk-stack  linkini kullanarak ulaşabilirsiniz.  Peki biz yazı dizisi sırasında ELK Stack ile neler yapmaya çalışacağız? Docker hostumuz (Windows 10) üzerinde File Beat kurarak, IIS Loglarını toparlayacağız. Topladığımız bu IIS loglarını container üzerinde koşan LogStash'e gönderecek ve LogStash üzerinde yaptığımız konfigürasyonlarla parse operasyonunu tamamlayıp, oluşan anlamlı datayı yine container üzeride koşan ElasticSearch 'e insert edeceğiz.  Insert ettiğimiz tüm bu log datasını ise yine container imajı olarak ayağa kaldırıp