Caspol.exe (Kod Erişimi Güvenliği İlke Aracı)

Kod Erişim Güvenliği (CAS) İlkesi aracı (Caspol.exe) kullanıcıların ve yöneticilerin güvenlik ilkesini makine ilkesi düzeyinde, kullanıcı ilkesi düzeyinde ve kuruluş ilkesi düzeyinde değiştirmelerini sağlar.

Önemli

.NET Framework 4'den başlayarak, legacyCasPolicy> öğesi olarak ayarlanmadığı<truesürece Caspol.exe CAS ilkesini etkilemez. CasPol.exe tarafından gösterilen veya değiştirilen ayarlar yalnızca CAS ilkesini kullanmayı seçen uygulamaları etkiler.

Not

Kod Erişim Güvenliği (CAS), .NET Framework ve .NET'in tüm sürümlerinde kullanım dışı bırakılmıştır. .NET'in son sürümleri CAS ek açıklamalarını dikkate almaz ve CAS ile ilgili API'ler kullanılıyorsa hata üretir. Geliştiriciler, güvenlik görevlerini yerine getirmek için alternatif yöntemler aramalıdır.

Not

64 bit bilgisayarlarda güvenlik ilkesi 64-bit ve 32-bit sürümleri içerir. İlkenizdeki değişikliklerin 32-bit ve 64-bit sürümlerine uygulandığından emin olmak için Caspol.exe'nin 32-bit ve 64-bit sürümlerinin ikisini de çalıştırın.

Kod Erişimi Güvenlik İlkesi aracı, .NET Framework ve Visual Studio ile otomatik olarak yüklenir. Caspol.exe 32 bit sistemlerde %windir%\Microsoft.NET\Framework\version veya 64 bit sistemlerde %windir%\Microsoft.NET\Framework64\version dizininde bulabilirsiniz. (Örneğin, 64 bit sistemdeki .NET Framework 4 için %windir%\Microsoft.NET\Framework64\v4.030319\caspol.exe konumudur.) Bilgisayarınız yan yana birden çok .NET Framework sürümü çalıştırıyorsa aracın birden çok sürümü yüklenebilir. Aracı yükleme dizininden çalıştırabilirsiniz. Ancak, yükleme klasörüne gitmenizi gerektirmeyen Visual Studio Geliştirici Komut İstemi veya Visual Studio Geliştirici PowerShell kullanmanızı öneririz.

Komut satırına şunu yazın:

Sözdizimi

caspol [options]

Parametreler

Seçenek Açıklama
-addfulltrustassembly_file

veya

-afassembly_file
Özel güvenlik nesnesi (örneğin, özel bir izin veya özel üyelik koşulu) uygulayan bir derlemeyi belirli bir ilke düzeyi için tam güven derleme listesine ekler. assembly_file bağımsız değişkeni eklenecek derlemeyi belirtir. Bu dosyanın tanımlayıcı bir adla imzalanması gerekir. Tanımlayıcı Ad Aracı'nı (Sn.exe) kullanarak bir derlemeyi tanımlayıcı adla imzalayabilirsiniz.

İlkeye, özel izin içeren bir izin kümesi her eklendiğinde, özel izni uygulayan derleme o ilke düzeyi için tam güven listesine eklenmelidir. Bir güvenlik ilkesinde (makine ilkesi gibi) kullanılan özel güvenlik nesneleri (özel kod grupları veya üyelik koşulları gibi) uygulayan derlemeler her zaman tam güven derleme listesine eklenmelidir. Dikkat: Özel güvenlik nesnesini uygulayan derleme diğer derlemelere başvuruda bulunursa, önce başvuruda bulunılan derlemeleri tam güven derleme listesine eklemeniz gerekir. Visual Basic, C++ ve JScript kullanılarak oluşturulan özel güvenlik nesneleri sırasıyla Microsoft.VisualBasic.dll, Microsoft.VisualC.dll veya Microsoft.JScript.dll'ye başvuru yapar. Bu derlemeler varsayılan olarak tam güven derlemesi listesinde değildir. Özel bir güvenlik nesnesi eklemeden önce uygun derlemeyi tam güven listesine eklemeniz gerekir. Bunun yapılmaması durumunda güvenlik sistemi çalışmaz ve tüm derlemelerin yüklenmesi başarısız olur. Bu durumda, Caspol.exe -all -reset seçeneği güvenliği onarmaz. Güvenliği onarmak için, özel güvenlik nesnesini kaldırmak üzere güvenlik dosyalarını el ile düzenlemeniz gerekir.
-addgroup {parent_label | parent_name} mship pset_name [flags]

veya

-ag {parent_label | parent_name} mship pset_name [flags]
Kod grubu hiyerarşisine yeni bir kod grubu ekler. parent_label veya parent_name belirtebilirsiniz. parent_label bağımsız değişkeni, eklenen kod grubunun üst öğesi olan kod grubunun etiketini (örneğin 1. veya 1.1.) belirtir. parent_name bağımsız değişkeni, eklenen kod grubunun üst öğesi olan kod grubunun adını belirtir. parent_label ve parent_name birbirinin yerine kullanılabildiğinden, Caspol.exe bunları ayırt edebilmesi gerekir. Bu nedenle , parent_name bir sayıyla başlayamaz. Ayrıca , parent_name yalnızca A-Z, 0-9 ve alt çizgi karakterini içerebilir.

Mship bağımsız değişkeni, yeni kod grubunun üyelik koşulunu belirtir. Daha fazla bilgi için bu bölümün devamında yer alan mship bağımsız değişkenleri tablosuna bakın.

pset_name bağımsız değişkeni, yeni kod grubuyla ilişkilendirilecek izin kümesinin adıdır. Yeni grup için bir veya daha fazla bayrak da ayarlayabilirsiniz. Daha fazla bilgi için bu bölümün devamında yer alan bayraklar bağımsız değişkenleri tablosuna bakın.
-addpset {psfile | psfile pset_name}

veya

-ap {named_psfile | psfilepset_name}
İlkeye yeni bir adlandırılmış izin kümesi ekler. İzin kümesi XML'de yazılmış ve bir .xml dosyasında depolanmış olmalıdır. XML dosyası izin kümesinin adını içeriyorsa, yalnızca bu dosya (psfile) belirtilir. XML dosyası izin kümesi adını içermiyorsa, hem XML dosya adını (psfile) hem de izin kümesi adını (pset_name) belirtmeniz gerekir.

bir izin kümesinde kullanılan tüm izinler, genel derleme önbelleğinde bulunan derlemelerde tanımlanmalıdır.
-a[ll] Bunu izleyen tüm seçeneklerin makineye, kullanıcıya ve kuruluş ilkelerine uygulanacağını belirtir. -all seçeneği her zaman oturum açmış olan kullanıcının ilkesine başvurur. Geçerli kullanıcı dışındaki bir kullanıcının kullanıcı ilkesine başvurmak için -customall seçeneğine bakın.
-chggroup {label |name} {mship | pset_name |

Bayrak}

veya

-cg {label |name} {mship | pset_name |

Bayrak}
Bir kod grubunun üyelik koşulunu, izin kümesini veya özel kullanım, levelfinal, ad veya açıklama bayraklarının ayarlarını değiştirir. Etiketi veya adı belirtebilirsiniz. Etiket bağımsız değişkeni, kod grubunun etiketini (1. veya 1.1 gibi) belirtir. name bağımsız değişkeni, değiştirecek kod grubunun adını belirtir. Etiket ve ad birbirinin yerine kullanılabildiğinden, Caspol.exe bunları ayırt edebilmesi gerekir. Bu nedenle , ad bir sayı ile başlayamaz. Ayrıca ad yalnızca A-Z, 0-9 ve alt çizgi karakterini içerebilir.

pset_name bağımsız değişkeni, kod grubuyla ilişkilendirilecek izin kümesinin adını belirtir. Mship ve flags bağımsız değişkenleri hakkında bilgi için bu bölümün devamında yer alan tablolara bakın.
-chgpsetpsfile pset_name

veya

-cppsfile pset_name
Adlandırılmış bir izin kümesini değiştirir. psfile bağımsız değişkeni, izin kümesi için yeni tanımı sağlar; XML biçiminde serileştirilmiş bir izin kümesi dosyasıdır. pset_name bağımsız değişkeni, değiştirmek istediğiniz izin kümesinin adını belirtir.
-customallyolu

veya

-cayolu
Bunu izleyen tüm seçeneklerin makineye, kuruluşa ve belirtilen özel kullanıcı ilkelerine uygulanacağını belirtir. Yol bağımsız değişkeniyle özel kullanıcının güvenlik yapılandırma dosyasının konumunu belirtmeniz gerekir.
-cu[stomuser] path Adına Caspol.exe çalışmakta olan kullanıcıya ait olmayan özel bir kullanıcı ilkesinin yönetimine izin verir. Yol bağımsız değişkeniyle özel kullanıcının güvenlik yapılandırma dosyasının konumunu belirtmeniz gerekir.
-Kurumsal

veya

-en
Bunu izleyen tüm seçeneklerin kuruluş düzeyinde ilkeye uygulanacağını belirtir. Kuruluş yöneticisi olmayan kullanıcılar kuruluş ilkesini görüntüleyebilir ancak değiştirmek için yeterli haklara sahip değildir. Kurumsal olmayan senaryolarda, bu ilke varsayılan olarak makine ve kullanıcı ilkesini engellemez.
-e[xecution] {on | off} Kod yürütülmeye başlamadan önce çalıştırmak için izni denetleyen mekanizmayı etkinleştirir veya devre dışı bırakır. Not: Bu anahtar .NET Framework 4 ve sonraki sürümlerde kaldırılır.
-f[orce] Aracın kendini kaldırma testini engeller ve ilkeyi kullanıcı tarafından belirtilen şekilde değiştirir. Normalde Caspol.exe, ilke değişikliklerinin Caspol.exe düzgün çalışmasını engelleyip engellemediğini denetler; Caspol.exe ilke değişikliğini kaydetmez ve bir hata iletisi yazdırır. Caspol.exe Caspol.exe çalışmasını engellese bile ilkeyi değiştirmeye zorlamak için –force seçeneğini kullanın.
-h[elp] Caspol.exe için komut sözdizimini ve seçenekleri görüntüler.
-l[ist] Belirtilen makine, kullanıcı, kuruluş veya tüm ilke düzeyleri için kod grubu hiyerarşisini ve izin kümelerini listeler. Caspol.exe önce kod grubunun etiketini, ardından null değilse adını görüntüler.
-listdescription

veya

-Ld
Belirtilen ilke düzeyi için tüm kod grubu açıklamalarını listeler.
-listfulltrust

veya

-Eğer
Belirtilen ilke düzeyi için tam güven derleme listesinin tüm içeriğini listeler.
-listgroups

veya

-Lg
Belirtilen ilke düzeyi veya tüm ilke düzeylerinin kod gruplarını görüntüler. Caspol.exe önce kod grubunun etiketini, ardından null değilse adını görüntüler.
-listpset veya -lp Belirtilen ilke düzeyi veya tüm ilke düzeyleri için izin kümelerini görüntüler.
-m[achine] Bunu izleyen tüm seçeneklerin makine düzeyinde ilkeye uygulanacağını belirtir. Yönetici olmayan kullanıcılar, makine ilkesini görüntüleyebilirler ancak değiştirmek için yeterli haklara sahip değildir. Yöneticiler için -machine varsayılan değerdir.
-polchgprompt {on | off}

veya

-pp {on | off}
Caspol.exe ilke değişikliklerine neden olan bir seçenek kullanılarak her çalıştırıldığında komut istemini etkinleştirir veya devre dışı bırakır.
-quiet

veya

-q
İlke değişikliklerine neden olan bir seçenek için normal olarak görüntülenen istemi geçici olarak devre dışı bırakır. Genel değişiklik istemi ayarı değişmez. Tüm Caspol.exe komutları için istemin devre dışı bırakılmasından kaçınmak üzere seçeneği yalnızca tek komut temelinde kullanın.
-r[ecover] Bir yedek dosyadan ilkeyi kurtarır. Bir ilke değişikliği her yapıldığında, Caspol.exe eski ilkeyi bir yedekleme dosyasına depolar.
-remfulltrustassembly_file

veya

-rfassembly_file
Bir derlemeyi ilke düzeyi tam güven listesinden kaldırır. Bu işlem, özel izin içeren bir izin kümesi ilke tarafından artık kullanılmıyorsa gerçekleştirilmelidir. Ancak, tam güven listesinden özel izin uygulayan bir derlemeyi, yalnızca derleme hala kullanılmakta olan başka bir özel izin uygulamazsa kaldırmalısınız. Bir derlemeyi listeden kaldırdığınızda, bağımlı olduğu derlemeleri de kaldırmanız gerekir.
-remgroup {label |name}

veya

-rg {label | name}
Etiketinin veya adının belirttiği kod grubunu kaldırır. Belirtilen kod grubunda alt kod grupları varsa, Caspol.exe tüm alt kod gruplarını da kaldırır.
-rempsetpset_name

veya

-rppset_name
Belirtilen izin kümesini ilkeden kaldırır. pset_name bağımsız değişkeni, hangi izin kümesinin kaldırılacağını gösterir. Caspol.exe izin kümesini yalnızca herhangi bir kod grubuyla ilişkili değilse kaldırır. Varsayılan (yerleşik) izin kümeleri kaldırılamaz.
-Sıfırlamak

veya

-rs
İlkeyi varsayılan durumuna geri döndürür ve diskte kalıcı kılar. Değiştirilen bir ilke onarılamayacak şekilde görünüyorsa ve siz de yükleme varsayılanları ile baştan başlamak istiyorsanız, bu yararlıdır. Varsayılan ilkeyi özel güvenlik yapılandırma dosyalarında yapılan değişiklikler için bir başlangıç noktası olarak kullanmak istediğinizde sıfırlama da kullanışlı olabilir. Daha fazla bilgi için bkz. Güvenlik Yapılandırma Dosyalarını El ile Düzenleme.
-resetlockdown

veya

-rsld
İlkeyi varsayılan durumun daha kısıtlayıcı bir sürümüne döndürür ve diskte kalıcı hale getirerek; önceki makine ilkesinin bir yedeğini oluşturur ve adlı security.config.bacbir dosyada kalıcı hale alır. Kilitli ilke varsayılan ilkeye benzer, ancak ilke , Trusted Sitesve bölgelerinden Local Intranetkoda izin vermez ve Internet karşılık gelen kod gruplarında alt kod grubu yoktur.
-resolvegroupassembly_file

veya

-rsgassembly_file
Belirli bir derlemenin (assembly_file) ait olduğu kod gruplarını gösterir. Varsayılan olarak bu seçenek, derlemenin ait olduğu makine, kullanıcı ve kuruluş ilkesi düzeylerini gösterir. Yalnızca bir ilke düzeyini görüntülemek için bu seçeneği -machine, -user veya -enterprise seçeneğiyle kullanın.
-resolvepermassembly_file

veya

-rspassembly_file
Derlemenin çalışmasına izin verilmişse, güvenlik ilkesinin belirtilen (veya varsayılan) düzeyinin derlemeye verdiği tüm izinleri görüntüler. assembly_file bağımsız değişkeni derlemeyi belirtir. -all seçeneğini belirtirseniz, Caspol.exe kullanıcı, makine ve kurumsal ilke temelinde derlemenin izinlerini hesaplar; aksi takdirde, varsayılan davranış kuralları geçerlidir.
-s[ecurity] {on | off} Kod erişim güvenliğini açar veya kapatır. -s kapalı seçeneğinin belirtilmesi rol tabanlı güvenliği devre dışı bırakmaz. Not: Bu anahtar .NET Framework 4 ve sonraki sürümlerde kaldırılır. Dikkat: Kod erişim güvenliği devre dışı bırakıldığında, tüm kod erişim talepleri başarılı olur. Kod erişimi güvenliğini devre dışı bırakmak sistemi virüsler ve solucanlar gibi zararlı kodların saldırılarına açık hale getirir. Güvenliğin kapatılması biraz ek performans sağlar, ancak yalnızca genel sistem güvenliğinin ihlal edilmediğinden emin olmak için başka güvenlik önlemleri alındığında yapılmalıdır. Diğer güvenlik önlemlerine ilişkin örnekler arasında ortak ağ bağlantılarını kesme, bilgisayarları fiziksel olarak güvenlik altına alma vb. sayılabilir.
-u[ser] Bunu izleyen tüm seçeneklerin, adına Caspol.exe çalıştıran kullanıcı için kullanıcı düzeyi ilkesine uygulanacağını belirtir. Yönetici olmayan kullanıcılar için varsayılan değer -user'dır .
-? Caspol.exe için komut sözdizimini ve seçenekleri görüntüler.

Bir kod grubunun üyelik koşulunu belirten mship bağımsız değişkeni , -addgroup ve -chggroup seçenekleriyle kullanılabilir. Her mship bağımsız değişkeni bir .NET Framework sınıfı olarak uygulanır. Mship belirtmek için aşağıdakilerden birini kullanın.

Bağımsız Değişken Description
-allcode Tüm kodu belirtir. Bu üyelik koşulu hakkında daha fazla bilgi için bkz System.Security.Policy.AllMembershipCondition. .
-appdir Uygulama dizini belirtir. Üyelik koşulu olarak –appdir belirtirseniz, kodun URL kanıtı, bu kodun uygulama dizini kanıtıyla karşılaştırılır. Her iki kanıt değeri de aynıysa, bu üyelik koşulu gerçekleşmiş demektir. Bu üyelik koşulu hakkında daha fazla bilgi için bkz System.Security.Policy.ApplicationDirectoryMembershipCondition. .
-customxmlfile Özel üyelik koşulu ekler. Zorunlu xmlfile bağımsız değişkeni, özel üyelik koşulunun XML serileştirmesini içeren .xml dosyasını belirtir.
-hashhashAlg {-hexhashValue-file | assembly_file } Belirtilen derleme karmasına sahip kodu belirtir. Bir karmayı kod grubu üyelik koşulu olarak kullanmak için, karma değerini ya da derleme dosyasını belirtmelisiniz. Bu üyelik koşulu hakkında daha fazla bilgi için bkz System.Security.Policy.HashMembershipCondition. .
-pub { -certcert_file_name |

-filesigned_file_name-onaltılık | hex_string }
Belirtilen yazılım yayıncısına sahip kodu (bir sertifika dosyasıyla, bir dosyadaki imzayla veya bir X 509 sertifikasının onaltılı gösterimiyle sunulduğu şekilde) belirtir. Bu üyelik koşulu hakkında daha fazla bilgi için bkz System.Security.Policy.PublisherMembershipCondition. .
-siteweb sitesi Belirtilen kaynak siteyi içeren kodu belirtir. Örnek:

-site** www.proseware.com

Bu üyelik koşulu hakkında daha fazla bilgi için bkz System.Security.Policy.SiteMembershipCondition. .
-strong -filefile_name {name-noname | } {version-noversion | } Dosya adı, derleme adı bir dize ve birincil biçiminde derleme sürümü tarafından belirlenen belirli bir tanımlayıcı ada sahip kodu belirtir. küçük.derleme.düzeltmeyi seçin. Örnek:

-strong -file myAssembly.exe myAssembly 1.2.3.4

Bu üyelik koşulu hakkında daha fazla bilgi için bkz System.Security.Policy.StrongNameMembershipCondition. .
-urlURL'si Belirtilen URL'den kaynaklanan kodu belirtir. URL, veya ftp://gibi http:// bir protokol içermelidir. Ayrıca, belirli bir URL'den birden çok derleme belirtmek için joker karakter (*) kullanılabilir. Not: Url birden çok ad kullanılarak tanımlanabildiği için, url'yi üyelik koşulu olarak kullanmak kodun kimliğini belirlemek için güvenli bir yol değildir. Mümkün olan yerlerde, bir tanımlayıcı ad üyelik koşulu, bir yayımcı üyelik koşulu veya karma üyelik koşulu kullanın.

Bu üyelik koşulu hakkında daha fazla bilgi için bkz System.Security.Policy.UrlMembershipCondition. .
-zonezonename Belirtilen kaynak bölgeyi içeren kodu belirtir. Bölge adı bağımsız değişkeni şu değerlerden biri olabilir: Bilgisayarım, İntranet, Güvenilen, İnternet veya Güvenilmeyen. Bu üyelik koşulu hakkında daha fazla bilgi için bkz ZoneMembershipCondition . Sınıf.

–addgroup ve –chggroup seçenekleriyle kullanılabilen flags bağımsız değişkeni aşağıdakilerden biri kullanılarak belirtilir.

Bağımsız Değişken Description
-Açıklama "açıklama" –addgroup seçeneğiyle kullanılırsa, eklenecek kod grubunun açıklamasını belirtir. –chggroup seçeneğiyle kullanılırsa, düzenleyebileceğiniz bir kod grubunun açıklamasını belirtir. Açıklama bağımsız değişkeni çift tırnak içine alınmalıdır.
-exclusive {on|off} açık olarak ayarlandığında, bazı kodlar kod grubunun üyelik koşuluna uyduğunda yalnızca eklediğiniz veya değiştirdiğiniz kod grubuyla ilişkili izin kümesinin dikkate alındığını gösterir. Bu seçenek kapalı olarak ayarlandığında, Caspol.exe ilke düzeyinde eşleşen tüm kod gruplarının izin kümelerini dikkate alır.
-levelfinal {on|off} açık olarak ayarlandığında, eklenen veya değiştirilen kod grubunun oluştuğu düzeyin altında hiçbir ilke düzeyinin dikkate alındığını gösterir. Bu seçenek genellikle makine ilkesi düzeyinde kullanılır. Örneğin, makine düzeyinde bir kod grubu için bu bayrağı ayarlarsanız ve bazı kodlar bu kod grubunun üyelik koşulu ile eşleşirse, Caspol.exe bu kod için kullanıcı düzeyi ilkesini hesaplamaz veya uygulamaz.
-Adı "name" –addgroup seçeneğiyle kullanılırsa, eklenecek kod grubunun betik adını belirtir. -chggroup seçeneğiyle kullanılırsa, düzenlenmek üzere bir kod grubunun betik adını belirtir. Ad bağımsız değişkeni çift tırnak içine alınmalıdır. Ad bağımsız değişkeni bir sayı ile başlayamaz ve yalnızca A-Z, 0-9 ve alt çizgi karakterini içerebilir. Kod gruplarına sayısal etiketleri yerine bu adla başvurulabilir. Ad, betik oluşturma amacıyla da son derece kullanışlıdır.

Açıklamalar

Güvenlik ilkesi üç ilke düzeyi kullanılarak ifade edilir: Makine ilkesi, kullanıcı ilkesi ve kuruluş ilkesi. Bir derlemenin aldığı izin kümesi, bu üç ilke düzeyi tarafından izin verilen izin kümelerinin kesişimi ile belirlenir. Her ilke düzey kod gruplarının hiyerarşik bir yapısı ile temsil edilir. Her kod grubunun bir üyelik koşulu vardır ve bu koşul hangi kodun o grubun üyesi olduğunu belirler. Adlandırılmış bir izin kümesi aynı zamanda her kod grubu ile ilişkilidir. Bu izin kümesi, çalışma zamanı tarafından, üyelik koşulunu karşılayan kodun sahip olmasına izin verilen izinleri belirtir. Bir kod grubu hiyerarşisi, ilişkili adlandırılmış izin kümeleriyle birlikte, güvenlik ilkesinin her düzeyini tanımlar ve korur. Güvenlik ilkesi düzeyini ayarlamak için –user, -customuser, –machine ve -enterprise seçeneklerini kullanabilirsiniz.

Güvenlik ilkesi ve çalışma zamanının koda hangi izinlerin verileceğini nasıl belirlediği hakkında daha fazla bilgi için bkz . Güvenlik İlkesi Yönetimi.

Kod Grupları ve İzin Kümelerine Başvurma

Hiyerarşideki kod gruplarına başvuruları kolaylaştırmak için -list seçeneği, sayısal etiketleriyle (1, 1.1, 1.1.1 vb.) birlikte kod gruplarının girintili bir listesini görüntüler. Kod gruplarını hedefleyen diğer komut satırı işlemleri belirli kod gruplarına başvuru yapmak için de sayısal etiketleri kullanır.

Adlandırılmış izin kümelerine, adlarına göre başvuru yapılır. –list seçeneği, kod gruplarının listesini ve ardından bu ilkede bulunan adlandırılmış izin kümelerinin listesini görüntüler.

Caspol.exe Davranışı

-s[ecurity] {on | off} dışındaki tüm seçenekler, Caspol.exe yüklendiği .NET Framework sürümünü kullanır. Çalışma zamanının X sürümüyle yüklenen Caspol.exe çalıştırırsanız, değişiklikler yalnızca bu sürüm için geçerlidir. Çalışma zamanının, diğer yan yana yüklemeleri varsa etkilenmez. Komut satırından, belirli çalışma zamanı sürümü dizininde olmaksızın Caspol.exe çalıştırırsanız, araç o yoldaki ilk çalışma zamanı sürümü dizininden (genellikle yüklü en son çalışma zamanı sürümü) yürütülür.

-s[ecurity] {on | off} seçeneği bilgisayar genelinde bir işlemdir. Kod erişim güvenliği devre dışı bırakmak bilgisayarda tüm kullanıcılar için ve yönetilen tüm kodlar için güvenlik kontrollerini sonlandırır. Yan yana .NET Framework sürümleri yüklüyse, bu komut bilgisayarda yüklü her sürüm için güvenliği kapatır. -list seçeneği güvenliğin kapalı olduğunu gösterse de, diğer kullanıcılar için başka hiçbir şey güvenliğin kapatıldığını açıkça göstermez.

Yönetici hakları olmayan bir kullanıcı Caspol.exe çalıştırıldığında, –machine seçeneği belirtilmediği sürece tüm seçenekler kullanıcı düzeyi ilkesine başvurur. Yönetici Caspol.exe çalıştırdığında, –user seçeneği belirtilmediği sürece tüm seçenekler makine ilkesine başvurur.

Caspol.exe işlevi için ayarlanan Her şey izninin eşdeğeri verilmelidir. Araçta, Caspol.exe'in çalışması için gereken izinlerin verilmesini önleyecek biçimlerde ilke üzerinde değişiklik yapılmasını önleyen koruyucu bir mekanizma vardır. Bu tür değişiklikler yapmaya çalışırsanız, Caspol.exe istenen ilke değişikliğinin aracı kesintiye uğratacağını ve ilke değişikliğinin reddedildiğini size bildirir. –force seçeneğini kullanarak belirli bir komut için bu koruyucu mekanizmayı kapatabilirsiniz.

Güvenlik Yapılandırma Dosyalarını El İle Düzenleme

Üç güvenlik yapılandırması dosyası, Caspol.exe tarafından desteklenen üç ilke düzeyine karşılık gelir: Makine ilkesi için bir dosya, belirli bir kullanıcı ilkesi için bir dosya ve kuruluş ilkesi için bir dosya. Yalnızca makine, kullanıcı veya kuruluş ilkesi Caspol.exe kullanılarak değiştirildiğinde, bu dosyalar disk üzerinde oluşturulur. Gerekirse, varsayılan güvenlik ilkesini diske kaydetmek için Caspol.exe 'de –reset seçeneğini kullanabilirsiniz.

Çoğu durumda, güvenlik yapılandırma dosyalarını el ile düzenlemeniz önerilmez. Ancak bu dosyalarda değişiklik yapılmasının gerekeceği bazı senaryolar da olabilir (örneğin, bir yönetici belirli bir kullanıcı için güvenlik yapılandırmasını düzenlemek isteyebilir).

Örnekler

-addfulltrust

Özel izin içeren bir izin kümesinin makine ilkesine eklendiğini varsayalım. Bu özel izin içinde uygulanır MyPerm.exeve MyPerm.exe içindeki sınıflara başvurur MyOther.exe. İki derleme de tam güven derleme listesine eklenmelidir. Aşağıdaki komut, derlemeyi MyPerm.exe makine ilkesi için tam güven listesine ekler.

caspol -machine -addfulltrust MyPerm.exe

Aşağıdaki komut, derlemeyi MyOther.exe makine ilkesi için tam güven listesine ekler.

caspol -machine -addfulltrust MyOther.exe

-addgroup

Aşağıdaki komut, makine ilkesi kod grubu hiyerarşisinin kök dizinine bir alt kod grubu ekler. Yeni kod grubu İnternet bölgesinin bir üyesidir ve Yürütme izin kümesiyle ilişkilendirilir.

caspol -machine -addgroup 1.  -zone Internet Execution

Aşağıdaki komut, paylaşım \\netserver\netshare yerel intranet izinleri veren bir alt kod grubu ekler.

caspol -machine -addgroup 1. -url \\netserver\netshare\* LocalIntranet

-addpset

Aşağıdaki komut, kullanıcı ilkesine Mypset ayarlanan izni ekler.

caspol -user -addpset Mypset.xml Mypset

-chggroup

Aşağıdaki komut, 1.2 etiketli kod grubunun kullanıcı ilkesinde ayarlanan izni değiştirir. öğesini seçin .

caspol -user -chggroup 1.2. Execution

Aşağıdaki komut, 1.2.1 etiketli kod grubunun varsayılan ilkesindeki üyelik koşulunu değiştirir. ve özel kullanım bayrağının ayarını değiştirir. Üyelik koşulu , İnternet bölgesinden kaynaklanan bir kod olarak tanımlanır ve özel kullanım bayrağı açıktır.

caspol -chggroup 1.2.1. -zone Internet -exclusive on

-chgpset

Aşağıdaki komut, adlı Mypset izin kümesini içinde bulunan izin kümesiyle newpset.xmldeğiştirir. Geçerli sürümün kod grubu hiyerarşisi tarafından kullanılan izin kümelerini değiştirmeyi desteklemediğini unutmayın.

caspol -chgpset Mypset newpset.xml

-Kuvvet

Aşağıdaki komut, kullanıcı ilkesinin kök kod grubunun (1 etiketli) Adlandırılmış hiçbir şey izin kümesiyle ilişkilendirilmesine neden olur. Bu Caspol.exe'nın çalışmasını engeller.

caspol -force -user -chggroup 1 Nothing

-Kurtarmak

Aşağıdaki komut, en son kaydedilen makine ilkesini kurtarır.

caspol -machine -recover

-remgroup

Aşağıdaki komut 1.1 etiketli kod grubunu kaldırır. Bu kod grubunda herhangi bir alt kod grubu varsa, bu gruplar da silinir.

caspol -remgroup 1.1.

-rempset

Aşağıdaki komut, kullanıcı ilkesinden Yürütme izin kümesini kaldırır.

caspol -user -rempset Execution

Aşağıdaki komut kullanıcı ilkesi düzeyinden kaldırır Mypset .

caspol -rempset MyPset

-resolvegroup

Aşağıdaki komut, makine ilkesinin ait olduğu myassembly tüm kod gruplarını gösterir.

caspol -machine -resolvegroup myassembly

Aşağıdaki komut makine, kuruluş ve belirtilen özel kullanıcı ilkesinin ait olduğu myassembly tüm kod gruplarını gösterir.

caspol -customall "c:\config_test\security.config" -resolvegroup myassembly

-resolveperm

Aşağıdaki komut, makine ve kullanıcı ilkesi düzeylerine göre için testassembly izinlerini hesaplar.

caspol -all -resolveperm testassembly

Ayrıca bkz.