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-ModuleManifest
yol 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-ModuleManifest
gibidir, 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-ModuleManifest
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, 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 $True
gö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-ModuleManifest
yolunu 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
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