Merhaba,

Bu makalemizde Powershell kullanımını remote üzerinden nasıl güvenilir bir şekilde etkinleştirebiliriz onu ele alacağız.

Hemen işe koyulalım ve Powershell’e uzaktan erişilmesini istediğimiz sunucu üzerinde powershell’i administrator olarak çalıştırıp
Enable-PSRemoting -Force
komutunu verelim. Bu komut ile powershell üzerinde uzaktan script çalıştırılmasına veya kod gönderilmesine izin vermiş olduk ancak bu işlem uzaktan bağlantı için yetmez. Workgroup çalıştığımız için aynı zamanda iki sisteminde birbirine güvenmesi gerekiyor. Karşılıklı bir trust kuralım ;

Bize çıkan Confirm’lere Y diyerek geçiyoruz bu sayede WinRM aktifleştiriliyor ve Firewall tarafına kurallar oluşturulup policy’ler ayarlanıyor. Bizi ekstra iş yükünden kurtarıyor aslında.

Set-Item WSMan:\localhost\Client\TrustedHosts -Value “*” -Force

Komutunu vererek herşeyi trusted hosts olarak algılamasını sağlayabiliriz ancak bu bir güvenlik açığına sebep olabilir bu yüzden ;

Set-Item WSMan:\localhost\Client\TrustedHosts -Value “Remote-powershell-calistirilacak-sunucu-ip-adresi” -Force

3

 

 

 

 

 

 

 

 

Komutunu powershell üzerinde çalıştırıp Trusted hosts olarak belirtiyoruz. Belirttiğimiz host’un trusted olup olmadığını sorgulamak için ise ;

Get-Item WSMan:\localhost\Client\TrustedHosts

komutunu kullanabiliriz.

Powershell çalıştırılacak sunucuda işimiz bitmeden önce son olarak güvenlik sebebiyle Firewall açıyoruz ve eklenmiş olan Windows Remote Management (HTTP-In) kuralına sağ tıklayıp Properties diyerek Scope sekmesine Remote IP Address bölümüne sadece uzaktan powershell erişmek istediğimiz sunucu ip adresini yazıyoruz.

Powershell çalıştıracağımız local sunucudaki işlemlerimiz bu kadar gelelim şimdi powershell komutlarını göndereceğimiz remote sunucudaki işlemlere.

Uzak sunucuda da powershell açarak uzak sunucununda powershell komut göndereceğimiz sunucuya güvenmesini sağlamamız gerekiyor bunun içinde aşağıda ki komutu çalıştırıyoruz.

Set-Item WSMan:\localhost\Client\TrustedHosts -Value “Powershell-
calistiracağımız-Sunucu-Ip-adresi” -Force

Bu komutu çalıştırdıktan sonra aşağıda ki komut ile remote sunucudaki powershell’e login olabiliriz.

Enter-PSSession –ComputerName POwershell-calistiracağımız-Sunucu-Ip-Adresi -Credential $Credentials

Sesssion kurduktan sonra local sunucumuzda powershell çalıştırır gibi işlemlerinizi gerçekleştirebilirsiniz.

Aşağıda ki komut yardımıyla dilerseniz Sesssion açmadan tek seferlik komut gönderebilirsiniz.

invoke-command -computername “Uzak-sunuc-ip-adresi” -Credential $Credentials -scriptblock {iisreset}

Başka bir makalede görüşmek üzere J

Yorumlayın