Catatan Rilis Windows Management Framework (WMF) 5.x
Perubahan WMF 5.0
- PowerShell 5.0 menambahkan aliran Informasi
terstruktur baru - Penyempurnaan DSC termasuk empat sumber daya DSC baru:
- WindowsFeatureSet
- WindowsOptionalFeatureSet
- ServiceSet
- Set Proses
- Menambahkan Administrasi Just Enough untuk mengaktifkan administrasi berbasis peran melalui jarak jauh PowerShell
- PowerShell 5.0 memperluas bahasa untuk menyertakan kelas dan enumerasi yang ditentukan pengguna
- Fitur penelusuran kesalahan yang disempurnakan di PowerShell ISE dan menambahkan penelusuran kesalahan jarak jauh
- Menambahkan modul PowerShellGet dan PackageManagement
- Pencatatan dan transkrip skrip PowerShell yang disempurnakan
- Menambahkan cmdlet Sintaks Pesan Kriptografi
- WMF 5.0 menyertakan modul NetworkSwitchManager untuk Windows
- Menambahkan modul Microsoft.PowerShell.ODataUtils
- Menambahkan dukungan untuk Software Inventory Logging (SIL)
- Memutuskan cmdlet baru atau memperbarui sebagai respons terhadap permintaan dan masalah pengguna
Perubahan WMF 5.1
WMF 5.1 mencakup komponen PowerShell, WMI, WinRM, dan Software Inventory Logging (SIL) yang dirilis dengan Windows Server 2016. WMF 5.1 dapat diinstal pada Windows 7, Windows 8.1, Windows Server 2008 R2, 2012, dan 2012 R2, dan memberikan beberapa peningkatan atas WMF 5.0 termasuk:
- Cmdlet baru
- Peningkatan PowerShellGet termasuk memberlakukan modul yang ditandatangani, dan menginstal modul JEA
- PackageManagement menambahkan dukungan untuk Kontainer, Penyiapan CBS, penyiapan berbasis EXE, paket CAB
- Penyempurnaan penelusuran kesalahan untuk kelas DSC dan PowerShell
- Peningkatan keamanan termasuk penerapan modul yang ditandatangani katalog yang berasal dari Pull Server dan saat menggunakan cmdlet PowerShellGet
- Respons terhadap sejumlah permintaan dan masalah pengguna
Penting
Sebelum Anda menginstal WMF 5.1 di Windows Server 2008 atau Windows 7, konfirmasikan bahwa WMF 3.0 tidak diinstal. Untuk informasi selengkapnya, lihat Prasyarat WMF 5.1 untuk Windows Server 2008 R2 SP1 dan Windows 7 SP1.
Edisi PowerShell
Dimulai dengan versi 5.1, PowerShell tersedia dalam edisi berbeda yang menunjukkan berbagai set fitur dan kompatibilitas platform.
- Desktop Edition: Built on .NET Framework dan menyediakan kompatibilitas dengan skrip dan modul yang menargetkan versi PowerShell yang berjalan pada edisi jejak penuh Windows seperti Server Core dan Windows Desktop.
- Core Edition: Dibangun di .NET Core dan menyediakan kompatibilitas dengan skrip dan modul yang menargetkan versi PowerShell yang berjalan pada pengurangan edisi jejak Windows seperti Nano Server dan Windows IoT.
Pelajari selengkapnya tentang menggunakan PowerShell Editions
- Menentukan edisi PowerShell yang sedang berjalan menggunakan $PSVersionTable
- Memfilter hasil Get-Module oleh CompatiblePSEditions menggunakan parameter PSEdition
- Mencegah eksekusi skrip kecuali dijalankan pada edisi PowerShell yang kompatibel
- Mendeklarasikan kompatibilitas modul ke versi PowerShell tertentu
Cache Analisis Modul
Dimulai dengan WMF 5.1, PowerShell menyediakan kontrol atas file yang digunakan untuk menyimpan data tentang modul, seperti perintah yang diekspornya.
Secara default, cache ini disimpan dalam file ${env:LOCALAPPDATA}\Microsoft\Windows\PowerShell\ModuleAnalysisCache
. Cache biasanya dibaca saat startup saat mencari perintah dan ditulis pada utas latar belakang beberapa saat setelah modul diimpor.
Untuk mengubah lokasi default cache, atur variabel lingkungan $env:PSModuleAnalysisCachePath
sebelum memulai PowerShell. Perubahan pada variabel lingkungan ini hanya akan memengaruhi proses turunan. Nilai harus memberi nama jalur lengkap (termasuk nama file) bahwa PowerShell memiliki izin untuk membuat dan menulis file. Untuk menonaktifkan cache file, atur nilai ini ke lokasi yang tidak valid, misalnya:
$env:PSModuleAnalysisCachePath = 'nul'
Ini mengatur jalur ke perangkat yang tidak valid. Jika PowerShell tidak dapat menulis ke jalur, tidak ada kesalahan yang dikembalikan, tetapi Anda dapat melihat pelaporan kesalahan dengan menggunakan pelacak:
Trace-Command -PSHost -Name Modules -Expression { Import-Module Microsoft.PowerShell.Management -Force }
Saat menulis cache, PowerShell akan memeriksa modul yang tidak ada lagi untuk menghindari cache yang tidak perlu besar. Terkadang pemeriksaan ini tidak diinginkan, dalam hal ini Anda dapat menonaktifkannya dengan mengatur:
$env:PSDisableModuleAnalysisCacheCleanup = 1
Pengaturan variabel lingkungan ini akan segera berlaku dalam proses saat ini.
Menentukan versi modul
Dalam WMF 5.1, using module
berperilaku sama seperti konstruksi terkait modul lainnya di PowerShell.
Sebelumnya, Anda tidak memiliki cara untuk menentukan versi modul tertentu; jika ada beberapa versi yang ada, ini mengakibatkan kesalahan.
Di WMF 5.1:
Anda dapat menggunakan ModuleSpecification Constructor (Hashtable).
Tabel hash ini memiliki format yang sama dengan
Get-Module -FullyQualifiedName
.Contoh :
using module @{ModuleName = 'PSReadLine'; RequiredVersion = '1.1'}
Jika ada beberapa versi modul, PowerShell menggunakan logika resolusi yang sama
seperti dan tidak mengembalikan kesalahan--perilaku yang sama dengan dan .
Penyempurnaan Pester
Di WMF 5.1, versi Pester yang dikirim dengan PowerShell telah diperbarui dari 3.3.5 menjadi 3.4.0. Pembaruan ini memungkinkan perilaku yang lebih baik untuk Pester di Nano Server.
Anda dapat meninjau perubahan pest dengan memeriksa CHANGELOG di repositori GitHub.