Bagikan melalui


Test-ModuleManifest

Memverifikasi bahwa file manifes modul secara akurat menjelaskan konten modul.

Sintaks

Default (Default)

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

Deskripsi

Cmdlet Test-ModuleManifest memverifikasi bahwa file yang tercantum dalam file manifes modul (.psd1) sebenarnya berada di jalur yang ditentukan.

Cmdlet ini dirancang untuk membantu penulis modul menguji file manifes mereka. Pengguna modul juga dapat menggunakan cmdlet ini dalam skrip dan perintah untuk mendeteksi kesalahan sebelum mereka menjalankan skrip yang bergantung pada modul.

Test-ModuleManifest mengembalikan objek yang mewakili modul. Ini adalah jenis objek yang sama dengan yang dikembalikan Get-Module. Jika ada file yang tidak berada di lokasi yang ditentukan dalam manifes, cmdlet juga menghasilkan kesalahan untuk setiap file yang hilang.

Contoh

Contoh 1: Menguji manifes

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

Perintah ini menguji manifes modul TestModule.psd1.

Contoh 2: Menguji manifes dengan menggunakan alur

"$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     : {}

Perintah ini menggunakan operator alur (|) untuk mengirim string jalur ke Test-ModuleManifest.

Output perintah menunjukkan bahwa pengujian gagal, karena file TestTypes.ps1xml, yang tercantum dalam manifes, tidak ditemukan.

Contoh 3: Menulis fungsi untuk menguji manifes modul

function Test-ManifestBool ($path)
{$a = dir $path | Test-ModuleManifest -ErrorAction SilentlyContinue; $?}

Fungsi ini seperti Test-ModuleManifest, tetapi mengembalikan nilai Boolean. Fungsi mengembalikan $true jika manifes lulus pengujian dan $false sebaliknya.

Fungsi ini menggunakan cmdlet Get-ChildItem, alias = dir, untuk mendapatkan manifes modul yang ditentukan oleh variabel $path. Perintah menggunakan operator alur (|) untuk meneruskan objek file ke Test-ModuleManifest.

Test-ModuleManifest menggunakan parameter ErrorAction umum dengan nilai SilentlyContinue untuk menekan tampilan kesalahan apa pun yang dihasilkan perintah. Ini juga menyimpan objek PSModuleInfo yang Test-ModuleManifest kembali dalam variabel $a. Oleh karena itu, objek tidak ditampilkan.

Kemudian, dalam perintah terpisah, fungsi menampilkan nilai variabel otomatis $?. Jika perintah sebelumnya tidak menghasilkan kesalahan, perintah akan menampilkan $true, dan $false sebaliknya.

Anda dapat menggunakan fungsi ini dalam pernyataan kondisi, seperti yang mungkin mendahului perintah Import-Module atau perintah yang menggunakan modul.

Parameter

-Path

Menentukan jalur dan nama file untuk file manifes. Masukkan jalur opsional dan nama file manifes modul yang memiliki ekstensi nama file .psd1. Lokasi default adalah direktori saat ini. Karakter kartubebas didukung, tetapi harus diselesaikan ke satu file manifes modul. Parameter ini diperlukan. Anda juga dapat menyalurkan jalur ke Test-ModuleManifest.

Properti parameter

Jenis:String
Nilai default:None
Mendukung wildcard:True
DontShow:False

Set parameter

(All)
Position:0
Wajib:True
Nilai dari alur:True
Nilai dari alur berdasarkan nama properti:True
Nilai dari argumen yang tersisa:False

CommonParameters

Cmdlet ini mendukung parameter umum: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction, dan -WarningVariable. Untuk informasi selengkapnya, lihat about_CommonParameters.

Input

String

Anda dapat menyalurkan jalur ke manifes modul ke cmdlet ini.

Output

PSModuleInfo

Cmdlet ini mengembalikan objek PSModuleInfo yang mewakili modul. Ini mengembalikan objek ini meskipun manifes memiliki kesalahan.