Aracılığıyla paylaş


Test-ModuleManifest

Modül bildirim dosyasının bir modülün içeriğini doğru şekilde açıklandığını doğrular.

Sözdizimi

Test-ModuleManifest
    [-Path] <String>
    [<CommonParameters>]

Description

Test-ModuleManifest cmdlet'i, modül bildirimi (.psd1) dosyasında listelenen dosyaların gerçekten belirtilen yollarda olduğunu doğrular.

Bu cmdlet, modül yazarlarının bildirim dosyalarını test etmelerine yardımcı olmak için tasarlanmıştır. Modül kullanıcıları, modüle bağlı betikleri çalıştırmadan önce hataları algılamak için bu cmdlet'i betiklerde ve komutlarda da kullanabilir.

Test-ModuleManifest, modülü temsil eden bir nesne döndürür. Bu, Get-Module'nin döndürdüğü nesnenin türüdür. Bildirimde belirtilen konumlarda herhangi bir dosya yoksa, cmdlet her eksik dosya için de bir hata oluşturur.

Örnekler

Örnek 1: Bildirimi test edin

Test-ModuleManifest -Path "$pshome\Modules\TestModule.psd1"

Bu komut TestModule.psd1 modül bildirimini test eder.

Örnek 2: İşlem hattını kullanarak bildirimi test edin

"$pshome\Modules\TestModule.psd1" | Test-ModuleManifest

Test-ModuleManifest : The specified type data file 'C:\Windows\System32\Wi
ndowsPowerShell\v1.0\Modules\TestModule\TestTypes.ps1xml' could not be processed because the file was not found. Please correct the path and try again.
At line:1 char:34
+ "$pshome\Modules\TestModule.psd1" | test-modulemanifest <<<<
+ CategoryInfo          : ResourceUnavailable: (C:\Windows\System32\WindowsPowerShell\v1.0\Modules\TestModule\TestTypes.ps1xml:String) [Test-ModuleManifest], FileNotFoundException
+ FullyQualifiedErrorId : Modules_TypeDataFileNotFound,Microsoft.PowerShell.Commands.TestModuleManifestCommandName

Name              : TestModule
Path              : C:\Windows\system32\WindowsPowerShell\v1.0\Modules\TestModule\TestModule.psd1
Description       :
Guid              : 6f0f1387-cd25-4902-b7b4-22cff6aefa7b
Version           : 1.0
ModuleBase        : C:\Windows\system32\WindowsPowerShell\v1.0\Modules\TestModule
ModuleType        : Manifest
PrivateData       :
AccessMode        : ReadWrite
ExportedAliases   : {}
ExportedCmdlets   : {}
ExportedFunctions : {}
ExportedVariables : {}
NestedModules     : {}

Bu komut, Test-ModuleManifestyol dizesi göndermek için bir işlem hattı işleci (|) kullanır.

Bildirimde listelenen TestTypes.ps1xml dosyası bulunamadığından komut çıktısı testin başarısız olduğunu gösterir.

Örnek 3: Modül bildirimini test etmek için işlev yazma

function Test-ManifestBool ($path)

{$a = dir $path | Test-ModuleManifest -ErrorAction SilentlyContinue; $?}

Bu işlev Test-ModuleManifestgibidir, ancak boole değeri döndürür. İşlev, bildirim testi geçtiyse $True döndürür ve aksi takdirde $False.

işlevi, $path değişkeni tarafından belirtilen modül bildirimini almak için diğer ad = dir Get-ChildItem cmdlet'ini kullanır. komut, dosya nesnesini Test-ModuleManifestgeçirmek için bir işlem hattı işleci (|) kullanır.

Test-ModuleManifest komutun oluşturduğu hataların görüntülenmesini engellemek için ErrorAction common parametresini SilentlyContinue değeriyle kullanır. Ayrıca, Test-ModuleManifest $a değişkeninde döndüren PSModuleInfo nesnesini kaydeder. Bu nedenle, nesne görüntülenmez.

Ardından işlev, ayrı bir komutta $? otomatik değişkeninin değerini görüntüler. Önceki komut hata oluşturmazsa, komut $Truegörüntüler ve aksi takdirde $False.

Bu işlevi, bir Import-Module komutundan önce gelenler veya modülü kullanan bir komut gibi koşullu deyimlerde kullanabilirsiniz.

Parametreler

-Path

Bildirim dosyası için bir yol ve dosya adı belirtir. .psd1 dosya adı uzantısına sahip modül bildirim dosyasının isteğe bağlı yolunu ve adını girin. Varsayılan konum geçerli dizindir. Joker karakterler desteklenir, ancak tek bir modül bildirim dosyasına çözümlenmelidir. Bu parametre gereklidir. Test-ModuleManifestyolunu da kanala ekleyebilirsiniz.

Tür:String
Position:0
Default value:None
Gerekli:True
İşlem hattı girişini kabul et:True
Joker karakterleri kabul et:True

Girişler

String

Yolu bu cmdlet'e bir modül bildirimine aktarabilirsiniz.

Çıkışlar

PSModuleInfo

Bu cmdlet, modülü temsil eden bir PSModuleInfo nesnesi döndürür. Bildirimde hatalar olsa bile bu nesneyi döndürür.