Test-ModuleManifest

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

Syntax

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

Description

cmdlet'i Test-ModuleManifest , modül bildirimi (.psd1) dosyasında listelenen dosyaların aslında 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, döndüren Get-Module nesnenin aynı 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 modül bildirimini test eder TestModule.psd1 .

Ö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, adresine yol dizesi Test-ModuleManifestgöndermek için işlem hattı işlecini (|) 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 gibi Test-ModuleManifestbir işlevdir, ancak boole değeri döndürür. bildirim testi geçtiyse ve $False aksi takdirde işlev döndürür$True.

işlevi, değişken tarafından $path belirtilen modül bildirimini almak için Get-ChildItem cmdlet'ini ( diğer ad = dir) kullanır. komutu, dosya nesnesini Test-ModuleManifestöğesine geç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, $a değişkeninde döndüren Test-ModuleManifest PSModuleInfo nesnesini kaydeder. Bu nedenle, nesne görüntülenmez.

Ardından işlev, ayrı bir komutta otomatik değişkenin $? değerini görüntüler. Önceki komut hata oluşturmazsa, komutu görüntüler $Trueve $False aksi halde.

Bu işlevi, bir komutun veya modülü kullanan bir Import-Module komutun önüne geçmiş olabilecekler gibi koşullu deyimlerde kullanabilirsiniz.

Parametreler

-Path

Bildirim dosyası için bir yol ve dosya adı belirtir. Dosya adı uzantısına sahip .psd1 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 zorunludur. Ayrıca yolunu adresine Test-ModuleManifestde yöneltebilirsiniz.

Type:String
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters: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.