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.
PowerShell modülünüzü yazdıktan sonra modül hakkında bilgi içeren isteğe bağlı bir modül bildirimi ekleyebilirsiniz. Örneğin, yazarı açıklayabilir, modüldeki dosyaları (iç içe yerleştirilmiş modüller gibi) belirtebilir, kullanıcının ortamını özelleştirmek, dosya yüklemek ve biçimlendirmek, sistem gereksinimlerini tanımlamak ve modülün dışarı aktardığı üyeleri sınırlandırmak için betikleri çalıştırabilirsiniz.
Modül bildirimi oluşturma
modül bildirimi, bir modülün içeriğini açıklayan ve modülün nasıl işlendiğini belirleyen bir PowerShell veri dosyasıdır (.psd1). Bildirim dosyası, anahtarların ve değerlerin karma tablosunu içeren bir metin dosyasıdır. Bildirimi modülle aynı şekilde adlandırarak ve bildirimi modülün kök dizininde depolayarak bildirim dosyasını modüle bağlarsınız.
Yalnızca tek bir .psm1 veya ikili derleme içeren basit modüller için modül bildirimi isteğe bağlıdır. Ancak, kodunuzu düzenlemenize ve sürüm bilgilerini korumanıza yardımcı olabileceğinden mümkün olduğunca modül bildirimini kullanmanız önerilir. Ayrıca, Genel Derleme Önbelleğiyüklenen bir derlemeyi dışarı aktarmak için bir modül bildirimi gereklidir. Güncelleştirilebilir Yardım özelliğini destekleyen modüller için modül bildirimi de gereklidir. Güncelleştirilebilir Yardım, modülün güncelleştirilmiş yardım dosyalarının konumunu içeren Yardım bilgileri (HelpInfo XML) dosyasını bulmak için modül bildirimindeki HelpInfoUri anahtarını kullanır. Güncelleştirilebilir Yardım hakkında daha fazla bilgi için bkz. Güncelleştirilebilir Yardım desteği.
Modül bildirimi oluşturmak ve kullanmak için
Modül bildirimi oluşturmak için en iyi yöntem New-ModuleManifest cmdlet'ini kullanmaktır. Bildirimlerin varsayılan anahtarlarından ve değerlerinden birini veya daha fazlasını belirtmek için parametreleri kullanabilirsiniz. Tek gereksinim, dosyayı adlandırmaktır.
New-ModuleManifest, belirtilen değerlerinizle bir modül bildirimi oluşturur ve kalan anahtarları ve bunların varsayılan değerlerini içerir. Birden çok modül oluşturmanız gerekiyorsa,New-ModuleManifestkullanarak farklı modülleriniz için değiştirilebilen bir modül bildirim şablonu oluşturun. Varsayılan modül bildirimi örneği için Örnek modül bildirimine bakın.New-ModuleManifest -Path C:\myModuleName.psd1 -ModuleVersion "2.0" -Author "YourNameHere"Alternatif olarak modül bildiriminin karma tablosunu gerekli en düşük bilgileri kullanarak el ile oluşturmak ModuleVersion. Dosyayı modülünüzle aynı adla kaydeder ve
.psd1dosya uzantısını kullanırsınız. Ardından dosyayı düzenleyebilir ve uygun anahtarları ve değerleri ekleyebilirsiniz.Bildirim dosyasına istediğiniz ek öğeleri ekleyin.
Bildirim dosyasını düzenlemek için tercih ettiğiniz herhangi bir metin düzenleyicisini kullanın. Ancak bildirim dosyası, kod içeren bir betik dosyası olduğundan visual studio code gibi bir betik veya geliştirme ortamında düzenlemek isteyebilirsiniz. ModuleVersion numarası dışında bildirim dosyasının tüm öğeleri isteğe bağlıdır.
Daha fazla bilgi için New-ModuleManifest cmdlet'indeki parametre açıklamalarına bakın. Modül bildirimine ekleyebileceğiniz anahtarların ve değerlerin açıklamaları için bkz. about_Module_Manifests.
Temel modül bildirim öğelerinin kapsamına alınmayacak senaryoları ele almak için modül bildiriminize ek kod ekleme seçeneğiniz vardır.
Güvenlikle ilgili endişeler için PowerShell, modül bildirim dosyasındaki kullanılabilir işlemlerin yalnızca küçük bir alt kümesini çalıştırır. Genellikle
ifdeyimini, aritmetik ve karşılaştırma işleçlerini ve temel PowerShell veri türlerini kullanabilirsiniz.Modül bildiriminizi oluşturduktan sonra, bildirimde açıklanan tüm yolların doğru olduğunu onaylamak için bunu test edebilirsiniz. Modül bildiriminizi test etmek için Test-ModuleManifestkullanın.
Test-ModuleManifest myModuleName.psd1Modül bildiriminizin, modülünüzü içeren dizinin en üst düzeyinde bulunduğundan emin olun.
Modülünüzü bir sisteme kopyalayıp içeri aktardığınızda PowerShell modülünüzü içeri aktarmak için modül bildirimini kullanır.
İsteğe bağlı olarak, bildirimin kendisini noktalı kaynak oluşturarak modül bildiriminizi doğrudan Import-Module çağrısıyla test edebilirsiniz.
Import-Module .\myModuleName.psd1
Örnek modül bildirimi
Aşağıdaki örnek modül bildirimi PowerShell 7'de New-ModuleManifest ile oluşturulmuştur ve varsayılan anahtarları ve değerleri içerir. Modül bildirimindeki her öğenin ayrıntılı açıklaması için bkz. about_Module_Manifests.
#
# Module manifest for module 'SampleModuleManifest'
#
# Generated by: User01
#
# Generated on: 10/15/2019
#
@{
# Script module or binary module file associated with this manifest.
# RootModule = ''
# Version number of this module.
ModuleVersion = '0.0.1'
# Supported PSEditions
# CompatiblePSEditions = @()
# ID used to uniquely identify this module
GUID = 'b632e90c-df3d-4340-9f6c-3b832646bf87'
# Author of this module
Author = 'User01'
# Company or vendor of this module
CompanyName = 'Unknown'
# Copyright statement for this module
Copyright = '(c) User01. All rights reserved.'
# Description of the functionality provided by this module
# Description = ''
# Minimum version of the PowerShell engine required by this module
# PowerShellVersion = ''
# Name of the PowerShell host required by this module
# PowerShellHostName = ''
# Minimum version of the PowerShell host required by this module
# PowerShellHostVersion = ''
# Minimum version of Microsoft .NET Framework required by this module. This prerequisite is valid for the PowerShell Desktop edition only.
# DotNetFrameworkVersion = ''
# Minimum version of the common language runtime (CLR) required by this module. This prerequisite is valid for the PowerShell Desktop edition only.
# CLRVersion = ''
# Processor architecture (None, X86, Amd64) required by this module
# ProcessorArchitecture = ''
# Modules that must be imported into the global environment prior to importing this module
# RequiredModules = @()
# Assemblies that must be loaded prior to importing this module
# RequiredAssemblies = @()
# Script files (.ps1) that are run in the caller's environment prior to importing this module.
# ScriptsToProcess = @()
# Type files (.ps1xml) to be loaded when importing this module
# TypesToProcess = @()
# Format files (.ps1xml) to be loaded when importing this module
# FormatsToProcess = @()
# Modules to import as nested modules of the module specified in RootModule/ModuleToProcess
# NestedModules = @()
# Functions to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no functions to export.
FunctionsToExport = @()
# Cmdlets to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no cmdlets to export.
CmdletsToExport = @()
# Variables to export from this module
VariablesToExport = '*'
# Aliases to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no aliases to export.
AliasesToExport = @()
# DSC resources to export from this module
# DscResourcesToExport = @()
# List of all modules packaged with this module
# ModuleList = @()
# List of all files packaged with this module
# FileList = @()
# Private data to pass to the module specified in RootModule/ModuleToProcess. This may also contain a PSData hashtable with additional module metadata used by PowerShell.
PrivateData = @{
PSData = @{
# Tags applied to this module. These help with module discovery in online galleries.
# Tags = @()
# A URL to the license for this module.
# LicenseUri = ''
# A URL to the main website for this project.
# ProjectUri = ''
# A URL to an icon representing this module.
# IconUri = ''
# ReleaseNotes of this module
# ReleaseNotes = ''
# Prerelease string of this module
# Prerelease = ''
# Flag to indicate whether the module requires explicit user acceptance for install/update/save
# RequireLicenseAcceptance = $false
# External dependent modules of this module
# ExternalModuleDependencies = @()
} # End of PSData hashtable
} # End of PrivateData hashtable
# HelpInfo URI of this module
# HelpInfoURI = ''
# Default prefix for commands exported from this module. Override the default prefix using Import-Module -Prefix.
# DefaultCommandPrefix = ''
}
Ayrıca bkz.
- Karşılaştırma_Operatörleri_Hakkında
- hakkında_Eğer
- Genel Derleme Önbelleği
- İçeri Aktarma Modülü
- New-ModuleManifest
- Test-ModuleManifest
- Update-ModuleManifest
- Windows PowerShell Modülü yazma
PowerShell