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
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-ModuleManifest
gö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-ModuleManifest
bir 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 $True
ve $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-ModuleManifest
de yöneltebilirsiniz.
Tür: | String |
Position: | 0 |
Default value: | None |
Gerekli: | True |
İşlem hattı girişini kabul et: | True |
Joker karakterleri kabul et: | True |
Girişler
Yolu bu cmdlet'e bir modül bildirimine aktarabilirsiniz.
Çıkışlar
Bu cmdlet, modülü temsil eden bir PSModuleInfo nesnesi döndürür. Bildirimde hatalar olsa bile bu nesneyi döndürür.
İlişkili Bağlantılar
PowerShell