Powershell Uzaktan İmzalı | Uzaktan İmzalı Politika Özelliklerini Öğrenin
PowerShell Remotesigned'a Giriş
PowerShell'in, PowerShell'in yapılandırma dosyalarını ve komut dosyalarını çalıştırabileceği durumu belirleyen bazı ilkeleri vardır. Bu, PowerShell'in kötü amaçlı kod veya yazılım çalıştırmasını veya yürütmesini engeller. Bir Windows makinesindeki yürütme ilkesi bir kullanıcı, makine veya bir oturum için ayarlanabilir. Belirli bir kullanıcı grubu için de grup ilkesi oluşturulabilir. Sistem ve geçerli kullanıcı için yürütme ilkeleri kayıt defterinde tutulur. Bir oturumun yürütme politikası bellekte tutulur ve oturum kapatılır kapatılmaz kaybolur. Kullanılabilir yürütme politikaları şunlardır: Tümü imzalı, Bypass, Varsayılan, Uzaktan imzalı, kısıtlı, tanımsız ve sınırsız. Varsayılan politika Uzaktan imzalıdır. Bu makalede PowerShell'deki uzaktan imzalı yürütme politikasını ayrıntılı olarak ele alacağız. Bu konumuzda Powershell Remotesigned hakkında bilgi sahibi olacağız.
Uzaktan İmzalı Yürütme İlkesi Özellikleri
Uzaktan imzalı yürütme ilkesi varsayılandır. Bu yürütme ilkesi kapsamında komut dosyaları çalıştırılabilir. İnternetten indirilen komut dosyalarını ve yapılandırma dosyalarını çalıştırmak için dijital imzalara ihtiyaç duyar. Yerel makinede geliştirilen dosyaları çalıştırmak için dijital imzalara gerek yoktur. Dosyaları dijital imza olmadan çalıştırmak için dosya kilidini açma cmdlet'i kullanılmalıdır. Komut dosyalarını dijital imza olmadan çalıştırmak ölümcül olabilir.
Yürütme ilkesi Set-ExecutionPolicy cmdlet'i kullanılarak ayarlanır.
Sözdizimi:
NAME Set-ExecutionPolicy SYNTAX Set-ExecutionPolicy [-ExecutionPolicy] {Unrestricted | RemoteSigned | AllSigned | Restricted | Default | Bypass | Undefined} [[-Scope] {Process | CurrentUser | LocalMachine | UserPolicy | MachinePolicy}] [-Force] [-WhatIf] [-Confirm] [<CommonParameters>] ALIASES NoneTo set the policy as remote signed, the following cmdlet is usedSet-ExecutionPolicy -ExecutionPolicy RemoteSigned
To see the execution policy settings the following cmdlet can be used.
Scope ExecutionPolicy ----- --------------- MachinePolicy Undefined UserPolicy Undefined Process Undefined CurrentUser Undefined LocalMachine Unrestricted
1. Yürütme Politikası kapsamı
Belirli bir kapsam için politikalar belirlemek mümkündür. İzin verilen kapsam değerleri Makine ilkesi, Kullanıcı ilkesi, İşlem, yerel makine ve geçerli kullanıcıdır. Varsayılan yürütme politikası yerel makinedir.
2. Makine Politikası
Politikayı sistemin tüm kullanıcılarına uygulamak için kullanılır.
3. Kullanıcı Politikası
Geçerli kullanıcı için bir grup ilkesi oluşturur.
4. Süreç
Bu yalnızca geçerli oturum için geçerlidir; değeri kayıt defterinde değil, ortam değişkeninde depolanır. Değişken ve karşılık gelen değer, PowerShell oturumu kapatıldığında silinir.
5. Mevcut Kullanıcı
Bu yalnızca mevcut kullanıcı için geçerlidir. Kayıt defterindeki HKEY_CURRENT_USER anahtarında mevcuttur.
6. Yerel makine:
Sistemdeki tüm kullanıcılar için politikayı ayarlamak için kullanılır. Kayıt defterindeki HKEY_LOCAL_MACHINE'de mevcuttur.
Bir oturum için politika ayarlama
Bir oturum ve onun alt oturumları için bir yürütme politikası belirlemek mümkündür. Bunun için pwsh.exe kullanılabilir. Bu, " $env: PSExecutionPolicyPreference " ortam değişkeninde saklanır. Bu değer oturum kapatıldığında silinir. Oturumun içinde bu yürütme politikasına, kayıt defterinde ayarlanandan daha yüksek öncelik verilir. Hiçbir zaman grup yürütme politikasının üzerinde öncelik sahibi olamaz.
Örnek:
pwsh.exe -ExecutionPolicy LocalMachineGiriş:
Write-Host "Example of remote signed policy"
Write-Host "Setting the policy to remote signed"
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned
Write-Host "Policy changed to remote signed"
write-host "Setting local computers from a remote"
Invoke-Command -ComputerName testserver1 -ScriptBlock { Get-ExecutionPolicy } | Set-ExecutionPolicy
Write-Host "Policy set to Local Machine"
Write-Host "Setting the scope for current user to remote signed"
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
Write-Host "Policy set to remote signed for local user"
Write-Host "Removing the user policy"
Set-ExecutionPolicy -ExecutionPolicy Undefined -Scope CurrentUser
Write-Host "Current users execution policy removed"
Write-Host "Setting the current sessions policy to remote signed"
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope Process
Write-Host "policy set for current session"
Write-Host "Running a script without digital signature"
Unblock-File c:\vignesh\test.ps1
Write-Host "File executed successfully"
Write-Host "Setting the policy to remote signed for local machine"
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope LocalMachine
Write-Host "policy set for local machine"
Write-Host "Setting the policy to remote signed for user group"
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope UserPolicy
Write-Host "policy set for user group"
Write-Host "Setting the policy to remote signed for all users"
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope MachinePolicy
Write-Host "policy set all users"Çıktı:
Diğer Powershell Uzaktan İmzalı Yürütme İlkeleri Özellikleri
1. Hepsi imzalandı
Bu, tüm komut dosyalarının yürütülmesine izin verir ancak yerel makinede geliştirilenler bile tüm komut dosyaları için dijital imza gerektirir. Komut dosyalarını çalıştırmadan önce bir bilgi istemi sorulacaktır.
2. Geçişle
Komut dosyalarının yürütülmesine ilişkin herhangi bir uyarı veya bilgi istemi gösterilmiyor.
3. Varsayılan
Windows istemcileri için varsayılan politika kısıtlıdır ve Windows için sunucular uzaktan imzalanır
4. Kısıtlanmış
Komut dosyalarının yürütülmesine izin vermez, yalnızca komutlara izin verir. Hiçbir yapılandırma dosyasına, ps dosyasına veya modül komut dosyasına izin verilmez.
5. Kısıtlanmamış
Windows olmayan bilgisayarlara ilişkin politika değiştirilemez. Tüm imzasız komut dosyaları çalıştırılabilir.
Grup İlkesi Özellikleri
Açma komut dosyası yürütmesi devre dışı bırakılırsa komut dosyaları çalıştırılmaz. Bu, kısıtlı yürütme politikasına benzer. Yürütme ilkesini etkinleştirmek için komut dosyası yürütmeyi açma grup ilkesinin etkinleştirilmesi gerekir. Tüm komut dosyalarına izin vermek için politikanın sınırsız olarak ayarlanması gerekir. Komut dosyalarının dijital imzalarla yürütülmesine izin vermek için Uzaktan imzalı olmalıdır; yalnızca imzalı komut dosyaları yürütülecekse politikanın Tümü imzalı olması gerekir.
Politikalar aşağıdaki sırayla yürütülür. En yüksek öncelik Makine politikasına, ardından kullanıcı politikasına, ardından işleme, ardından mevcut kullanıcıya ve son olarak yerel makineye verilir.
Sonuç - Powershell Remotesigned
Bu nedenle makalede PowerShell'deki uzaktan imzalı yürütme politikası ayrıntılı olarak ele alınmıştır. Uzaktan imzalı politikanın özelliklerini sözdizimi ile birlikte açıkladı. Makale, politikanın çeşitli kapsamlar için uzaktan imzalanacak şekilde nasıl ayarlanacağına dair çeşitli örnekler gösterdi. Ayrıca mevcut diğer yürütme politikalarına da kısa bir giriş yaptı. Daha detaylı bilgi edinmek için örnek programlar yazıp bunları uygulamanız tavsiye edilir.

