Windows Management Framework (WMF) 5.x kibocsátási megjegyzések
WMF 5.0-s módosítások
- A PowerShell 5.0 új strukturált információs adatfolyamot ad hozzá
- A DSC fejlesztései, köztük négy új DSC-erőforrás:
- WindowsFeatureSet
- WindowsOptionalFeatureSet
- ServiceSet
- ProcessSet
- Csak elég felügyelet hozzáadva a szerepköralapú felügyelet engedélyezéséhez a PowerShell-remoting használatával
- A PowerShell 5.0 kibővíti a nyelvet a felhasználó által definiált osztályok és enumerációk belefoglalására
- Továbbfejlesztett hibakeresési funkciók a PowerShell ISE-ben, és távoli hibakeresés hozzáadása
- A PowerShellGet és a PackageManagement modul hozzáadása
- Továbbfejlesztett PowerShell-szkriptnaplózás és -átiratok
- Kriptográfiai üzenetszintaxis-parancsmagok hozzáadása
- A WMF 5.0 tartalmazza a Windowshoz készült NetworkSwitchManager modult
- A Microsoft.PowerShell.ODataUtils modul hozzáadása
- A szoftverleltár-naplózás (SIL) támogatása hozzáadva
- Új vagy frissítési parancsmagok szétválasztása a felhasználói kérésekre és problémákra válaszul
WMF 5.1 változások
A WMF 5.1 tartalmazza az Windows Server 2016 kiadásban megjelent PowerShell-, WMI-, WinRM- és szoftverleltár-naplózási (SIL) összetevőket. A WMF 5.1 telepíthető Windows 7, Windows 8.1, Windows Server 2008 R2, 2012 és 2012 R2 rendszerre, és számos fejlesztést biztosít a WMF 5.0-s verziójához, többek között a következőket:
- Új parancsmagok
- A PowerShellGet javításai, többek között az aláírt modulok használatának kényszerítése és a JEA-modulok telepítése
- A PackageManagement mostantól támogatja a Containers szolgáltatást, a CBS-beállítást, az EXE-alapú beállítást és a CAB-csomagokat
- DSC- és PowerShell-osztályok hibakeresési javításai
- Biztonsági fejlesztések: katalógus által aláírt modulok használatának kényszerítése a lekérési kiszolgálóról érkező modulok, illetve PowerShellGet-parancsmagok használata esetén
- Válaszok néhány felhasználói kérésre és problémára
Fontos
Mielőtt telepíti a WMF 5.1-et Windows Server 2008-ra vagy Windows 7-re, győződjön meg arról, hogy a WMF 3.0 nincs telepítve. További információ: WMF 5.1 Előfeltételek Windows Server 2008 R2 SP1 és Windows 7 SP1 rendszerhez.
PowerShell-kiadások
Az 5.1-es verziótól kezdve a PowerShell különböző kiadásokban érhető el, amelyek különböző funkciókészleteket és platformkompatibilitást jelölnek.
- Desktop kiadás: A .NET-keretrendszeren alapul, és a Windows teljes erőforrás-igényű kiadásain, például a Server Core és a Windows asztali kiadásain futtatott PowerShell-verziókat célzó szkriptekhez és modulokhoz biztosít kompatibilitást.
- Core kiadás: .NET Core-on alapul, és a Windows csökkentett erőforrás-igényű kiadásain, például a Nano Serveren és a Windows IoT kiadásokon futtatott PowerShell-verziókat célzó szkriptekhez és modulokhoz biztosít kompatibilitást.
További információ a PowerShell-kiadások használatáról
- A PowerShell futó kiadásának meghatározása $PSVersionTable
- Get-Module eredmények szűrése CompatiblePSEditions használatával PSEdition paraméterrel
- Szkript végrehajtásának megakadályozása, kivéve, ha a Futtatás a PowerShell kompatibilis kiadásán fut
- Modul kompatibilitásának deklarálása adott PowerShell-verziókkal
Modulelemzési gyorsítótár
A WMF 5.1-től kezdve a PowerShell szabályozza a modul adatainak gyorsítótárazásához használt fájlt, például az exportált parancsokat.
Ez a gyorsítótár alapértelmezés szerint a fájlban ${env:LOCALAPPDATA}\Microsoft\Windows\PowerShell\ModuleAnalysisCache
van tárolva. A gyorsítótárat általában indításkor olvassa be egy parancs keresése közben, és a modul importálása után egy háttérszálon íródik.
A gyorsítótár alapértelmezett helyének módosításához állítsa be a környezeti változót a $env:PSModuleAnalysisCachePath
PowerShell indítása előtt. A környezeti változó módosításai csak a gyermekfolyamatokra lesznek hatással. Az értéknek meg kell adnia egy teljes elérési utat (beleértve a fájlnevet is), amelynek a PowerShell rendelkezik engedéllyel a fájlok létrehozására és írására. A fájlgyorsítótár letiltásához állítsa ezt az értéket érvénytelen helyre, például:
$env:PSModuleAnalysisCachePath = 'nul'
Ez érvénytelen eszközre állítja be az elérési utat. Ha a PowerShell nem tud írni az elérési útra, a rendszer nem ad vissza hibát, de hibajelentést láthat egy jelölő használatával:
Trace-Command -PSHost -Name Modules -Expression { Import-Module Microsoft.PowerShell.Management -Force }
A gyorsítótár írásakor a PowerShell olyan modulokat keres, amelyek már nem léteznek a szükségtelenül nagy gyorsítótár elkerülése érdekében. Néha ezek az ellenőrzések nem kívánatosak, ebben az esetben kikapcsolhatja őket az alábbi beállításokkal:
$env:PSDisableModuleAnalysisCacheCleanup = 1
A környezeti változó beállítása azonnal érvénybe lép az aktuális folyamatban.
Modulverzió megadása
A WMF 5.1-ben ugyanúgy viselkedik, using module
mint más modulokkal kapcsolatos szerkezetek a PowerShellben.
Korábban nem lehetett megadni egy adott modulverziót; ha több verzió is létezik, az hibát eredményezett.
A WMF 5.1-ben:
A ModuleSpecification Constructor (Hashtable) parancsot használhatja.
Ez a kivonattábla formátuma megegyezik a következő formátummal
Get-Module -FullyQualifiedName
: .Példa:
using module @{ModuleName = 'PSReadLine'; RequiredVersion = '1.1'}
Ha a modulnak több verziója is van, a PowerShell ugyanazt a feloldási logikát használja, mint
Import-Module
a és nem ad vissza hibát – ugyanaz a viselkedés, mint aImport-Module
ésImport-DscResource
a.
A Pester fejlesztései
A WMF 5.1-ben a PowerShellt tartalmazó Pester verziója 3.3.5-ről 3.4.0-ra frissült. Ez a frissítés jobb viselkedést tesz lehetővé a Nano Serveren futó Pester számára.
A pesti módosításokat a GitHub-adattár VÁLTOZÁSNAPLÓjának vizsgálatával tekintheti át.