it-swarm-tr.com

PowerShell'in RemoteSigned yürütme ilkesinin AllSigned'den farkı nedir?

PowerShell için hala oldukça yeniyim ve son zamanlarda bunu PowerShell komut dosyaları oluşturma ve kullanma hakkındaki bir blog gönderisinde okudum.

Kötü amaçlı komut dosyalarının yürütülmesini önlemek için PowerShell bir yürütme ilkesi uygular. Varsayılan olarak, yürütme ilkesi Sınırlı olarak ayarlanmıştır, yani PowerShell komut dosyaları çalışmaz. Geçerli yürütme ilkesini aşağıdaki cmdlet'i kullanarak belirleyebilirsiniz:

Get-ExecutionPolicy

Kullanabileceğiniz yürütme politikaları şunlardır:

  • Sınırlı - Komut dosyaları çalışmaz.
  • RemoteSigned - Yerel olarak oluşturulan komut dosyaları çalışır, ancak İnternet'ten indirilenler çalışmaz (güvenilir bir yayıncı tarafından dijital olarak imzalanmadığı sürece).
  • AllSigned - Komut dosyaları yalnızca güvenilir bir yayıncı tarafından imzalandıysa çalışır.
  • Sınırsız - Komut dosyaları, nereden geldiklerine ve imzalanıp imzalanmadığına bakılmaksızın çalışır.

PowerShell’in yürütme ilkesini aşağıdaki cmdlet'i kullanarak ayarlayabilirsiniz:

Set-ExecutionPolicy <policy name>

Bana göre, Uzaktan İmzalı'nın açıklamasındaki " güvenilir bir yayıncı tarafından dijital olarak imzalanmadıkça " gösterimi, onunla aynı şekilde çalıştığı anlamına geliyor AllSigned. Bir yerde özlediğim bir fark var mı?

28
Iszi

Açıkçası AllSigned, tüm modüllerin/ek bileşenlerin ve komut dosyalarının kod imzalı olmasını gerektirir. RemoteSigned yalnızca uzak dosyaların imzalanmasını gerektirir. Uzak dosyalar nedir?

Standart cevap PowerShell blogundadır: http://blogs.msdn.com/b/powershell/archive/2007/03/07/how-does-the-remotesigned-execution-policy-work.aspx

Ancak sonuç şu şekildedir: RemoteSigned yalnızca 'Zone'daki "Internet" bölgesinden işaretli olan modüllerde/ek bileşenlerde ve komut dosyalarında kod imzalama gerektirir "Internet Explorer Artırılmış Güvenlik" etkin değilse, "Intranet" işaretli dosyaları ve UNC yollarını da içeren .Identifier 'alternatif veri akışı.

16
Jaykul

Fark, RemoteSigned'in imzalanmamış yerel olarak komut dosyaları çalıştırmasıdır, oysa AllSigned, Kökenlerinden bağımsız olarak tüm komut dosyalarının imzalanmasını gerektirir.

8
Steve