Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu belge, bir modülün en iyi performans için nasıl yazıldıklarıyla ilgili bazı yönergeleri içerir.
Modül Bildirim Dosyası Hazırlama
Aşağıdaki yönergeleri kullanmayan bir modül bildirimi, modül bir oturumda kullanılmasa bile genel PowerShell performansı üzerinde belirgin bir etkiye sahip olabilir.
Modüllerin hangi komutları dışa aktardığını belirlemek için yapılan komutların otomatik keşfi analizi, her modül üzerinde gerçekleştirilir ve bu analiz pahalı olabilir. Modül analizinin sonuçları kullanıcı başına önbelleğe alınır, ancak önbellek ilk çalıştırmada kullanılamaz; bu kapsayıcılarla ilgili tipik bir senaryodur. Modül analizi sırasında, dışarı aktarılan komutlar bildirimden tam olarak belirlenebiliyorsa modülün daha pahalı bir şekilde analiz edilmesi önlenebilir.
Yönerge -leri
Modül bildiriminde,
AliasesToExport,CmdletsToExportveFunctionsToExportgirdilerinde joker karakterler kullanmayın.Modül belirli bir türdeki komutları dışarı aktarmıyorsa,
@()belirterek bildirimde bunu açıkça belirtin. Eksik veya$nullgirdisi,*joker karakteri belirtmekle eşdeğerdir.
Mümkün olduğunda aşağıdakilerden kaçınılmalıdır:
@{
FunctionsToExport = '*'
# Also avoid omitting an entry, it's equivalent to using a wildcard
# CmdletsToExport = '*'
# AliasesToExport = '*'
}
Bunun yerine şunu kullanın:
@{
FunctionsToExport = 'Format-Hex', 'Format-Octal'
CmdletsToExport = @() # Specify an empty array, not $null
AliasesToExport = @() # Also ensure all three entries are present
}
CDXML'yi kullanmaktan kaçının
Modülünüzü nasıl uygulayacaklarına karar verirken üç birincil seçenek vardır:
- İkili (genellikle C#)
- Betik (PowerShell)
- CDXML (CIM’i saran bir XML dosyası)
Modülünüzü yükleme hızı önemliyse, CDXML kabaca ikili modülden bir büyüklük derecesi kadar daha yavaştır.
Önceden derlenmiş olduğu için ve makine başına bir kez JIT derlemek üzere NGen'i kullanabildiği için ikili modül en hızlı yüklenir.
PowerShell'in derlemeden ve yürütmeden önce betiği ayrıştırması gerektiğinden, betik modülü genellikle ikili modülden biraz daha yavaş yüklenir.
CDXML modülü, genellikle bir betik modülünden çok daha yavaştır çünkü önce bir XML dosyasını ayrıştırması gerekir ve ardından ayrıştırılıp derlenen oldukça fazla miktarda PowerShell betiği oluşturur.
PowerShell