Ana içeriğe atla

Kayıtlar

Powershell Remote Yönetimi

Powershell'in ne kadar güçlü bir tool oluğunu hepimiz biliyoruz. En güçlü ve güvenlik anlamında korkutucu özelliklerinden birisi ise local administrator yetkilerine sahip olduğumu bir credential ile WinRM kullanarak istediğimiz scriptleri çalıştırabilmek diyebiliriz. Akşam televizyon başında oyalanırken 3 aşamadan oluşan bir script yazarak remote sessionda script çalıştırmayı deneme fırsatım oldu. Bu test sırasında ilk olarak iki ayrı çok basit functiondan ve write-host ile host ekranına yazı basan bir script geliştirdim. Bu script çalıştırken iki parametre alıyor. Kendi içerisinde iki functiondan ilkini çağırarak function çağrısının tamamlanmasını bekliyor. Çağırdığı testFunc function'ı ise yine bu script dosyası içerisindeli testFunc2 function'ı çağırıyor. [ cmdletBinding (SupportsShouldProcess) ] param ( [ string ] $firstParam , [ string ] $secondParam ) function testFunc2 { [ cmdletBinding (SupportsShouldProcess) ] param ( [ string ] $newNa...

DevOps Yolculuğum - 1 - Continous Delivery

DevOps Yolculuğum 2018 yılıyla birlikte kariyerime DevOps Mühendisi olarak devam edeceğim. Bu zamana kadar IT altyapı ve operasyon ekiplerinde kazandığım, server operasyon ve yönetimi, veritabanı operasyon ve yönetimi, uygulama operasyon ve geliştirme deneyimlerimi DevOps için kullanacağım. Bu süreçte fırsat buldukça DevOps adına öğrendiklerimi blog yazılarımda toparlamayı hedefliyorum. Umarım hem yeni kariyer hedefimde hem de blog zinciri hedefimde başarılı olabilirim:) Bu zincirdeki ilk yazımda Continous Delivery mekanizmasından bahsetmeyi düşündüm. Umarım bana ve okuyan herkese faydası dokunur. Continous Delivery Nedir? Continous Delivery temelde software release sürecinin tamamını etkileyen yazılım mühendisliği yaklaşımıdır. Test otomasyonu, uygulama deploymentlarının otomasyonu ve development sırasında kullanılan süreçlerin otomasyonu Continous Delivery'nin önemli bileşenleridir. Continous Delivery'in temel hedefi büyük ölçekli dağıtık ortamlara, kompleks pr...

Windows Feature Batch Deployment

Aşağıdaki function ile bir sunucu üzerinde oluışturduğumuz configuration file dosyası ile uzak lokasyondaki birden çok sunucuya yükleme yapabiliriz. Umarım faydalı olur, her türlü ek geliştirme için hakki.ogretmen@gmail.com adresine mail atabilirsiniz. function Invoke-WindowsFeatureBatchDeployment { param ( [parameter(mandatory)] [string[]] $ComputerNames, [parameter(mandatory)] [string] $ConfigurationFilePath ) # Deploy the features on multiple computers simultaneously. $jobs = @() foreach($ComputerName in $ComputerNames) { $jobs += Start-Job -Command { Install-WindowsFeature -ConfigurationFilePath $using:ConfigurationFilePath -ComputerName $using:ComputerName -Restart } } Receive-Job -Job $jobs -Wait | Select-Object Success, RestartNeeded, ExitCode, FeatureResult }

Check Computer Object is Alive On Domain

Powershell'in gücü system admin rolündeki kişiler için tartışılmaz. Zaman zaman üzerinde aging tanımı olmayan ortamlarda, düzgün yönetilemeyen domain ve dns ortamlarında aslında kapalı olan ve kapalı olmamasına rağmen domainden düşmüş computer objelerinin tespit edilebilmesi için aşağıdaki gibi bir script geliştirmiştim. Umarım faydası olur, her türlü ek geliştirme için hakkiogretmen@gmail.com adresine mail atabilirsiniz. Import-Module ActiveDirectory $myServers = @("servers") If (Test-Path "D:\Temp\PasswordLastSetResult.txt"){ Remove-Item "D:\Temp\PasswordLastSetResult.txt" } $Servers_OU =  "OU=ServersOU,OU=ABCServersOU,DC=mydomain,DC=dmn,DC=com" foreach ($myserver in $myServers)         {         $mycomp = Get-ADComputer –SearchBase $Servers_OU –SearchScope SubTree -Filter { OperatingSystem -like "Windows Server*"} -Properties PasswordLastSet,IPv4Address | Select * | Where-Object {$_.Name -eq $myserver} trap [Syste...

Configure IIS Application pool to use gMSA

Daha önce yayınladığım  gMSA oluşturma  yazımda Active Directory'de nasıl gMSA oluşturacağımı paylaşmıştım. Bu yazıda ise bu gMSA 'i nasıl web application sunucusunda kullanıma alacağımızı aktarmaya çalışacağım. Web Application'ımız veritabanı bağlantısı kuracak ise SQL Server'da gMSA'i yetkilendirme yazımı inceleyebilirsiniz. Umarım faydalı olur. IIS Manager'ı (run-->inetmgr) açarak Application Pools listemizi açmalıyız. Application Pools Llist Değişiklik yapmak istediğimiz Application Pool seçilerek Advanced Settings ekranı açılır. Bu ekranda değiştireceğimiz alan Identity alanıdır. Advanced Settings --> Identity Application Pool'umuz gMSA kullanıcımız verilerek konfigüre edilir. Username kısmına domain\gMSA$ şeklinde gMSA eklenir. Password Active Directory tarafından yönetildiği için bu alanlar boş bırakılır. Configure Identity Credentials Uygulamamız içerisinde Windows Authentication kullanılmıyorsa connection string'imizi d...

Configure gMSA as login on SQL Server Instance

Daha önce yayınladığım  gMSA oluşturma  yazımda Active Directory'de nasıl gMSA oluşturacağımı paylaşmıştım. Bu yazıda ise bu gMSA 'i nasıl SQL Server database'inde oluşturup, yetkilendireceğimizi aktarmaya çalışacağım. Umarım faydalı olur. test domaininde create edilmiş testIISAppPool1 isimli gMSA 'i SQL Server'da login olarak tanımlayacağım. SQL Server sunucumuzu gMSA için daha önce oluşturduğumuz security group üyeleri arasında eklediğimizden ve bu işlemi yaptıktan sonra policy refresh için suncuyu restart etmiş olduğumuzdan emin olmalıyız.  Ek olarak gMSA 'i yazdıktan sonra sonuna $ eklememiz gerektiğini de unutmamalıyız.  Configure gMSA on Sql Server