A Windows PowerShell 5.0 újdonságai

Windows PowerShell 5.0 jelentős új funkciókat tartalmaz, amelyek kibővítik a használatát, javítják a használhatóságot, és lehetővé teszik a Windows-alapú környezetek egyszerűbb és átfogóbb kezelését.

Windows PowerShell 5.0 visszamenőlegesen kompatibilis. A Windows PowerShell 4.0-s, Windows PowerShell 3.0-s és Windows PowerShell 2.0-s verzióhoz tervezett parancsmagok, szolgáltatók, modulok, beépülő modulok, szkriptek, függvények és profilok általában módosítások nélkül működnek Windows PowerShell 5.0-s verzióban.

A Windows PowerShell telepítése

Windows PowerShell 5.0 alapértelmezés szerint telepítve van Windows Server 2016 Technical Preview és Windows 10.

Ha Windows PowerShell 5.0-t szeretne telepíteni Windows Server 2012 R2-re, Windows 8.1 Enterprise vagy Windows 8.1 Pro, töltse le és telepítse az Windows Management Framework 5.0-t. A Windows Management Framework 5.0 telepítése előtt mindenképpen olvassa el a letöltés részleteit, és feleljen meg az összes rendszerkövetelményeknek.

A témakör tartalma

Windows PowerShell 4.0-s frissítések a 2014. novemberi kumulatív frissítésben (KB 3000850)

A Windows PowerShell 4.0 Windows PowerShell Desired State Configuration (DSC) számos frissítése és fejlesztése elérhető a 2014. novemberi kumulatív frissítésben a Windows RT 8.1,Windows 8.1 és Windows Server 2012 R2 (KB3000850). A Windows PowerShell futtatásával Get-Hotfix -Id KB3000850 megállapíthatja, hogy KB3000850 telepítve van-e a rendszerre.

  • Frissítések meglévő parancsmagokra a PSDesiredStateConfiguration modulban

  • Új parancsmagok a PSDesiredStateConfiguration modulban

  • Nyelvi fejlesztések

    • A DependsOn mostantól támogatja az összetett erőforrásokat.
    • A DependsOn mostantól támogatja az erőforráspéldányok neveiben szereplő számokat.
    • Az üresnek értékelt csomópontkifejezések már nem jeleznek hibát.
    • Kijavítottunk egy hibát, amely akkor fordul elő, ha egy csomópontkifejezés üresnek értékel.
    • A konfigurációkat hívó konfigurációk mostantól működnek a Windows PowerShell konzolon.
  • Lekéréses mód fejlesztései

    • A lekéréses mód mostantól az összes ZIP-fájlt támogatja.
    • Az AllowModuleOverwrite mostantól megfelelően működik.
  • Rugalmassági fejlesztések

    • A New DebugMode lehetővé teszi az erőforrásmodulok újratöltését.
    • Konfigurációs hiba esetén a pending.mof fájl nem törlődik.
    • A Helyi Configuration Manager (LCM) mostantól rugalmasabb, ha a metakonfigurálási beállítások sérültek.
  • Diagnosztikai fejlesztések

    • Figyelmeztetés jelenik meg, ha az LCM a megadott beállításoktól eltérőre állítja az időzítőt.
    • A hibanapló-fájlok mostantól tartalmazzák Windows PowerShell erőforrások hívási vermét.
  • Rugalmassági fejlesztések

    • A LocalConfigurationManager erőforráshoz tartozik egy új actionAfterReboot tulajdonság.
      • ContinueConfiguration (alapértelmezett érték): A célcsomópont újraindítása után automatikusan folytatja a konfigurációt.
      • StopConfiguration: A csomópont újraindítása után ne folytassa automatikusan a konfigurációt.
    • A konzisztenciafuttatás most már gyakrabban fordulhat elő, mint egy PULL művelet, vagy fordítva.
    • Verziószámozás támogatása: A DSC mostantól képes felismerni egy újabb ügyfélen létrehozott dokumentumot (amely a WMF 5.0 részét képezi).
  • Hibamegelőzési fejlesztések

    • A modulverziót a rendszer a konfiguráció alkalmazása előtt kényszeríti ki.
    • A hibakeresésipreferencia mostantól helyesen van beállítva get-, set-vagy Test-TargetResource hívásokhoz.
  • A hitelesítő adatok kezelésének fejlesztései

    • A rendszer most már használ tanúsítványt, ha a Tanúsítvány és a PSDscAllowPlainTextPassword is meg van adva.
    • A hitelesítő adatok visszafejtése még a Get-TargetResource esetében is.
    • A metakonfigurálási hitelesítő adatok titkosítottak és visszafejthetők.
    • A PS-hitelesítő adatok mostantól visszafejthetők, ha beágyazott objektumban vannak.
  • Beépített erőforrás-fejlesztések

    • A Csomag erőforrás
      • A továbbiakban nem a megfelelő csomagot telepíti (helyi vagy webes forrásokból).
      • Most már támogatja a HTTPS-t.
    • A Csomag erőforrás mostantól támogatja a HTTPS-t.
    • Az archív erőforrás mostantól támogatja a hitelesítő adatokat.

Az Windows PowerShell 5.0 új funkciói

Új funkciók a Windows PowerShell

  • Az Windows PowerShell 5.0-tól kezdődően a többi objektumorientált programozási nyelvhez hasonló osztályokkal, formális szintaxissal és szemantikával fejleszthet. Az osztály, az enum és más kulcsszavak hozzá lettek adva a Windows PowerShell nyelvhez az új funkció támogatásához. Az osztályok használatával kapcsolatos további információkért lásd: about_Classes.

  • Windows PowerShell 5.0 egy új, strukturált információs adatfolyamot vezet be, amellyel strukturált adatokat továbbíthat a szkriptek és hívói (vagy üzemeltetési környezete) között. Mostantól a Write-Host használatával kimenetet bocsáthat ki az információs adatfolyamnak. Az információs adatfolyamok a PowerShell.Streamekhez, a feladatokhoz, az ütemezett feladatokhoz és a munkafolyamatokhoz is működnek. Az alábbi funkciók támogatják az információs adatfolyamot.

    • Egy új Write-Information parancsmag, amellyel megadhatja, hogy Windows PowerShell hogyan kezelje a parancsok adatfolyamadatait. Write-Host a Write-Information burkolója. Write-Information szintén támogatott munkafolyamat-tevékenység.
    • Két új gyakori paraméter, az InformationVariable és az InformationAction segítségével meghatározhatja, hogyan jelennek meg a parancsokból származó információstreamek. Az InformationAction érvényes értékei: SilentlyContinue, Stop, Continue, Inquire, Ignore vagy Suspend, a SilentlyContinue az alapértelmezett érték. Az InformationVariable egy sztringet ad meg annak a változónak a neveként, amelyhez menteni szeretné a parancsból Write-Host adatokat.
    • Egy új, InformationPreference nevű beállításváltozó határozza meg az adatfolyam-adatok alapértelmezett beállítását egy Windows PowerShell munkamenetben. Az alapértelmezett érték a SilentlyContinue.
    • Két új gyakori munkafolyamat-paraméter, a PSInformation és az InformationAction lett hozzáadva.
    • A Format-Table parancs használatakor a rendszer mostantól automatikusan formázza a táblaoszlopokat az adatfolyamon áthaladó első 300ms adat kiértékelésével.
  • A Microsoft Research szolgáltatással együttműködve új parancsmag, a ConvertFrom-String lett hozzáadva. ConvertFrom-String lehetővé teszi strukturált objektumok kinyerását és elemzését a szöveges sztringek tartalmából. További információ: ConvertFrom-String.

  • Az új Convert-String parancsmag automatikusan formáz szövegeket egy -Example paraméterben megadott példa alapján.

  • A Microsoft.PowerShell.Archive nevű új modul parancsmagokkal tömöríti a fájlokat és mappákat archív (más néven ZIP-) fájlokba, kinyeri a fájlokat a meglévő ZIP-fájlokból, és frissíti a ZIP-fájlokat a bennük tömörített fájlok újabb verzióival.

  • A PackageManagement nevű új modul lehetővé teszi szoftvercsomagok felderítését és telepítését az interneten. A PackageManagement (korábbi nevén OneGet) modul a meglévő csomagkezelők (más néven csomagszolgáltatók) egy kezelője vagy multiplexerje, amely egységesíti a Windows-csomagkezelést egyetlen Windows PowerShell felülettel.

  • A PowerShellGet új moduljával megkeresheti, telepítheti, közzéteheti és frissítheti a modulokat és A DSC-erőforrásokat a PowerShell-galéria vagy egy belső modultárban, amelyet a Register-PSRepository parancsmag futtatásával állíthat be.

  • Hozzá lett adva egy új, Rejtett nyelvi kulcsszó, amely azt adja meg, hogy egy tag (tulajdonság vagy metódus) alapértelmezés szerint nem jelenik meg Get-Member eredményekben (kivéve, ha hozzáadja a -Force paramétert). A rejtettként megjelölt tulajdonságok és metódusok szintén nem jelennek meg az IntelliSense eredményei között, kivéve, ha olyan környezetben van, ahol a tagnak láthatónak kell lennie; Például az automatikus változónak $This rejtett tagokat kell megjelenítenie az osztálymetódusban.

  • Az Új elem, az Elem eltávolítása és a Get-ChildItem továbbfejlesztettük a szimbolikus hivatkozások létrehozásának és kezelésének támogatásához. A New-Item -ItemType paramétere egy új értéket fogad el, a SymbolicLinket. Mostantól egyetlen sorban hozhat létre szimbolikus hivatkozásokat a New-Item parancsmag futtatásával.

  • Get-ChildItem egy új -Depth paraméterrel is rendelkezik, amelyet a -Recurse paraméterrel használ a rekurzió korlátozásához. A Get-ChildItem -Recurse -Depth 2 például az aktuális mappából, az aktuális mappában lévő összes gyermekmappából, valamint a gyermekmappákban lévő összes mappából ad vissza eredményeket.

  • Copy-Item mostantól fájlokat vagy mappákat másolhat az egyik Windows PowerShell munkamenetből egy másikba, ami azt jelenti, hogy a fájlokat a távoli számítógépekhez csatlakoztatott munkamenetekbe másolhatja (beleértve a Nano Servert futtató számítógépeket is, és így nem rendelkezik más felülettel). Fájlok másolásához adja meg a PSSession azonosítókat az új -FromSession és -ToSession paraméterek értékeként, majd adja hozzá az -Path és a -Destination értéket a forrás és a cél megadásához. Például Copy-Item -Path c:\myFile.txt -ToSession $s -Destination d:\destinationFolder.

  • Windows PowerShell átírást továbbfejlesztettük, hogy a konzol gazdagépén (powershell.exe) kívül az összes üzemeltetési alkalmazásra (például Windows PowerShell ISE-re) vonatkozzanak. Az átírási beállítások (beleértve a teljes rendszerszintű átirat engedélyezését) konfigurálhatók a PowerShell-átírás bekapcsolása Csoportházirend beállítás engedélyezésével, amely a Felügyeleti sablonok/Windows-összetevők/Windows PowerShell című témakörben található.

  • Az új részletes szkriptkövetési funkció lehetővé teszi Windows PowerShell szkriptek használatának részletes nyomon követését és elemzését a rendszeren. Miután engedélyezte a részletes szkriptkövetést, Windows PowerShell naplózza az összes szkriptblokkot a Windows eseménykövetési (ETW) eseménynaplójába( Microsoft-Windows-PowerShell/Operational).

  • A Windows PowerShell 5.0-tól kezdődően az új titkosítási üzenetszintaxis parancsmagok támogatják a tartalom titkosítását és visszafejtését az IETF szabványos formátumával, a RFC5652 által dokumentált üzenetek titkosítása érdekében. A Get-CmsMessage, a Protect-CmsMessage és a Unprotect-CmsMessage parancsmagok hozzá lettek adva a Microsoft.PowerShell.Security modulhoz.

  • A Microsoft.PowerShell.Utility modul, a Get-Runspace, a Debug-Runspace, a Get-RunspaceDebug, az Enable-RunspaceDebug és a Disable-RunspaceDebug új parancsmagjai lehetővé teszik a hibakeresési beállítások beállítását egy runspace-en, valamint a hibakeresés indítását és leállítását egy runspace-en. Tetszőleges runspace-ek (vagyis olyan runspace-ek) hibakereséséhez, amelyek nem egy Windows PowerShell konzol vagy Windows PowerShell ISE-munkamenet alapértelmezett runspace-jei) Windows PowerShell lehetővé teszi töréspontok beállítását egy szkriptben, és a hozzáadott töréspontok meggátolják a szkript futását, amíg nem tud hibakeresőt csatolni a runspace szkript hibakereséséhez. A rendszer hozzáadta a beágyazott hibakeresési támogatást a tetszőleges runspace-ekhez a Windows PowerShell szkript hibakeresőjéhez a runspaces esetében.

  • Új Format-Hex parancsmag lett hozzáadva a Microsoft.PowerShell.Utility modulhoz. Format-Hex lehetővé teszi a szöveges vagy bináris adatok hexadecimális formátumban való megtekintését.

  • Get-Clipboard és Set-Clipboard parancsmagok lettek hozzáadva a Microsoft.PowerShell.Utility modulhoz; megkönnyítik a tartalom átvitelét egy Windows PowerShell munkamenetbe. A vágólap parancsmagjai képeket, hangfájlokat, fájllistákat és szöveget támogatnak.

  • A Microsoft.PowerShell.Management modulhoz hozzáadtunk egy új parancsmagot, a Clear-RecycleBin parancsmagot; ez a parancsmag kiüríti a Lomtárat egy rögzített meghajtóhoz, amely külső meghajtókat is tartalmaz. A rendszer alapértelmezés szerint egy Clear-RecycleBin parancs megerősítését kéri, mert a parancsmag ConfirmImpact tulajdonsága ConfirmImpact.High értékre van állítva.

  • Az új New-TemporaryFile parancsmaggal ideiglenes fájlt hozhat létre a szkriptelés részeként. Alapértelmezés szerint az új ideiglenes fájl a fájlban C:\Users\<user name>\AppData\Local\Tempjön létre.

  • A Fájlkivétel, a Add-Content és a Set-Content parancsmagok mostantól új -NoNewline paraméterrel rendelkeznek, amely kihagy egy új sort a kimenet után.

  • A New-Guid parancsmag a .NET-keretrendszer GUID osztály használatával hoz létre GUID-t, amely szkriptek vagy DSC-erőforrások írásakor hasznos.

  • Mivel a fájlverzió adatai félrevezetők lehetnek, különösen egy fájl javítása után, új FileVersionRaw és ProductVersionRaw szkripttulajdonságok érhetők el a FileInfo-objektumokhoz. A következő parancs futtatásával megjelenítheti például a powershell.exe ezen tulajdonságainak értékeit, ahol $pid tartalmazza a Windows PowerShell futó munkamenetének folyamatazonosítóját:Get-Process -Id $pid -FileVersionInfo | Format-List *version* -Force

  • Az új parancsmagok Enter-PSHostProcess és Exit-PSHostProcess lehetővé teszik Windows PowerShell szkriptek hibakeresését a Windows PowerShell konzolon futó jelenlegi folyamattól eltérő folyamatokban. Futtassa Enter-PSHostProcess egy adott folyamatazonosító megadásához vagy ahhoz való csatoláshoz, majd futtassa Get-Runspace a folyamat aktív runspace-jeinek visszaadásához. Futtassa Exit-PSHostProcess a folyamatból való leválasztáshoz, ha befejezte a szkript hibakeresését a folyamaton belül.

  • Új Wait-Debugger parancsmag lett hozzáadva a Microsoft.PowerShell.Utility modulhoz. A Wait-Debugger futtatásával leállíthat egy szkriptet a hibakeresőben, mielőtt futtatja a következő utasítást a szkriptben.

  • A Windows PowerShell Munkafolyamat-hibakereső mostantól támogatja a parancs- vagy lapkiegészítést, és a beágyazott munkafolyamat-függvényeket is hibakeresésre használhatja. A Ctrl+Break billentyűkombinációt lenyomva beírhatja a hibakeresőt egy futó szkriptbe, a helyi és távoli munkamenetekbe, valamint egy munkafolyamat-szkriptbe.

  • Egy Debug-Job parancsmag lett hozzáadva a Microsoft.PowerShell.Core modulhoz, a Windows PowerShell munkafolyamat, háttér és távoli munkamenetekben futó feladatok feladatszkriptjeinek hibakereséséhez.

  • Új állapotot (AtBreakpoint) adtunk hozzá Windows PowerShell feladatokhoz. Az AtBreakpoint-állapot akkor érvényes, ha egy feladat beállított töréspontokat tartalmazó szkriptet futtat, és a szkript töréspontot ért el. Ha egy feladat leáll egy hibakeresési töréspontnál, a Debug-Job parancsmag futtatásával kell hibakeresést végeznie a feladatban.

  • Windows PowerShell 5.0 egyetlen Windows PowerShell modul több verziójának támogatását valósítja meg ugyanabban a mappában $PSModulePath. Hozzá lett adva egy RequiredVersion tulajdonság a ModuleSpecification osztályhoz, amely segít a modul kívánt verziójának beszerzésében; Ez a tulajdonság kölcsönösen kizárja a ModuleVersion tulajdonságot. A RequiredVersion mostantól támogatott a Get-Module, Import-Module és Remove-Module parancsmagok FullyQualifiedName paraméterének értékeként.

  • Most már elvégezheti a modulverzió-ellenőrzést a Test-ModuleManifest parancsmag futtatásával.

  • A Get-Command parancsmag eredményei most egy Verzió oszlopot jelenítenek meg; új Version tulajdonság lett hozzáadva a CommandInfo osztályhoz. Get-Command ugyanazon modul több verziójából származó parancsokat jelenít meg. A Version tulajdonság a CmdletInfo: CmdletInfo és ApplicationInfo származtatott osztályainak is része.

  • Get-Command rendelkezik egy új - ShowCommandInfo paraméterrel, amely a ShowCommand információkat PSObjects értékként adja vissza. Ez különösen akkor hasznos, ha Show-Command Windows PowerShell ISE-ben fut, Windows PowerShell újraegyenlítéssel. A -ShowCommandInfo paraméter lecseréli a Microsoft.PowerShell.Utility modulban meglévő Get-SerializedCommand függvényt, de a Get-SerializedCommand szkript továbbra is elérhető az alsó szintű szkriptelés támogatásához.

  • Az új Get-ItemPropertyValue parancsmaggal pontjelezés használata nélkül is lekérheti egy tulajdonság értékét. A Windows PowerShell régebbi kiadásaiban például a következő parancs futtatásával lekérheti a PowerShellEngine beállításkulcs Application Base tulajdonságának értékét: (Get-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\PowerShell\3\PowerShellEngine -Name ApplicationBase). ApplicationBase. Az Windows PowerShell 5.0-tól kezdve futtathatja a Get-ItemPropertyValue -Path HKLM:\SOFTWARE\Microsoft\PowerShell\3\PowerShellEngine -Name ApplicationBase parancsot.

  • A Windows PowerShell konzol most már szintaxisszínezést használ, csakúgy, mint Windows PowerShell ISE-ben.

  • Egy új NetworkSwitch modul olyan parancsmagokat tartalmaz, amelyekkel kapcsolókat, virtuális LAN-t (VLAN) és alapszintű 2. rétegbeli hálózati kapcsolóport-konfigurációt alkalmazhat Windows Server 2012 R2 embléma-tanúsítvánnyal rendelkező hálózati kapcsolókra.

  • A FullyQualifiedName paraméter hozzá lett adva Import-Module és Remove-Module parancsmagokhoz, hogy támogassa egyetlen modul több verziójának tárolását.

  • A Save-Help, az Update-Help, az Import-PSSession, az Export-PSSession és a Get-Command új, ModuleSpecification típusú, FullyQualifiedModule paraméterrel rendelkezik. Adja hozzá ezt a paramétert egy modul teljes neve alapján történő megadásához.

  • A $PSVersionTable.PSVersion értéke 5.0-ra frissült.

  • A WMF 5.0 (PowerShell 5.0) tartalmazza a Pester modult. A Pester a PowerShell egységtesztelési keretrendszere. Biztosít néhány egyszerűen használható kulcsszót, amelyekkel teszteket hozhat létre a szkriptekhez.

A Windows PowerShell Desired State Configuration új funkciói

  • Windows PowerShell nyelvi fejlesztésekkel osztályokkal definiálhat Windows PowerShell Desired State Configuration (DSC) erőforrásokat. Import-DscResource mostantól valódi dinamikus kulcsszó; Windows PowerShell elemzi a megadott modul gyökérmodulját, és megkeresi a DscResource attribútumot tartalmazó osztályokat. Mostantól osztályokkal definiálhat DSC-erőforrásokat, amelyekben sem MOF-fájl, sem DSCResource almappára nincs szükség a modulmappában. Egy Windows PowerShell modulfájl több DSC-erőforrásosztályt is tartalmazhat.
  • A PSDesiredStateConfiguration modulban egy új paraméter, a ThrottleLimit lett hozzáadva a következő parancsmagokhoz. Adja hozzá a ThrottleLimit paramétert azon célszámítógépek vagy eszközök számának megadásához, amelyeken a parancsot egyszerre szeretné használni.
    • Get-DscConfiguration
    • Get-DscConfigurationStatus
    • Get-DscLocalConfigurationManager
    • Restore-DscConfiguration
    • Test-DscConfiguration
    • Compare-DscConfiguration
    • Publish-DscConfiguration
    • Set-DscLocalConfigurationManager
    • Start-DscConfiguration
    • Update-DscConfiguration
  • A központi DSC-hibajelentéssel a rendszer nem csak az eseménynaplóban naplózza a részletes hibainformációkat, hanem egy központi helyre is elküldheti későbbi elemzés céljából. Ezen a központi helyen tárolhatja a környezetében lévő bármely kiszolgálónál előforduló DSC-konfigurációs hibákat. Miután definiálta a jelentéskészítő kiszolgálót a metakonfigurációban, a rendszer az összes hibát elküldi a jelentéskészítő kiszolgálónak, majd egy adatbázisban tárolja. Ezt a funkciót attól függetlenül beállíthatja, hogy a célcsomópont konfigurálva van-e a lekérési kiszolgáló konfigurációinak lekérésére.
  • Az ISE Windows PowerShell továbbfejlesztése megkönnyíti a DSC-erőforrások készítését. Most már megteheti az alábbiakat.
    • A konfiguráción vagy csomópontblokkon belüli összes DSC-erőforrás listázásához írja be a Ctrl+Szóköz billentyűkombinációt egy üres sorba a blokkon belül.
    • Automatikus kiegészítés az enumerálási típus erőforrás-tulajdonságain.
    • A DSC-erőforrások DependsOn tulajdonságának automatikus befejezése a konfigurációban szereplő egyéb erőforráspéldányok alapján.
    • Továbbfejlesztett lapkiegészítés az erőforrás-tulajdonságértékek esetében.
  • A felhasználók most már futtathatnak egy erőforrást egy megadott hitelesítőadat-készlet alatt úgy, hogy hozzáadják a PSDscRunAsCredential attribútumot egy Node-blokkhoz. Például: PSDscRunAsCredential = Get-Credential Contoso\DscUser. Ez a funkció olyan konfigurációk létrehozásához hasznos, amelyek Windows Installert és végrehajtható telepítőket futtatnak, hozzáférnek a felhasználónkénti beállításjegyzékhez, vagy más feladatokat hajtanak végre az aktuális felhasználói környezeten kívül.
  • 32 bites (x86-alapú) támogatás lett hozzáadva a Configuration kulcsszóhoz.
  • Windows PowerShell mostantól támogatja a DSC-konfigurációk egyéni súgóját a [CmdletBinding()] hozzáadásával a létrehozott konfigurációs függvényhez.
  • Az új DscLocalConfigurationManager attribútum egy konfigurációs blokkot jelöl metakonfigurációként, amely a DSC helyi Configuration Manager konfigurálására szolgál. Ez az attribútum csak a DSC helyi Configuration Manager konfiguráló elemeket tartalmazó konfigurációkat korlátozza. A feldolgozás során ez a konfiguráció létrehoz egy *.meta.mof fájlt, amelyet a rendszer a megfelelő célcsomópontokra küld a Set-DscLocalConfigurationManager parancsmag futtatásával.
  • A részleges konfigurációk mostantól engedélyezve vannak az Windows PowerShell 5.0-s verzióban. A konfigurációs dokumentumokat a csomópontokra töredékekben kézbesítheti. Ahhoz, hogy egy csomópont több részletet kapjon egy konfigurációs dokumentumból, a csomópont helyi Configuration Manager először be kell állítani a várt töredékek megadásához
  • A számítógépek közötti szinkronizálás a DSC Windows PowerShell 5.0-s verzióban új. A beépített WaitFor* erőforrások (WaitForAll, WaitForAny és WaitForSome) használatával mostantól külső vezénylések nélkül is megadhatja a számítógépek közötti függőségeket a konfigurációs futtatások során. Ezek az erőforrások csomópontok közötti szinkronizálást biztosítanak CIM-kapcsolatok használatával a WS-Man protokollon keresztül. A konfiguráció megvárhatja, amíg egy másik számítógép adott erőforrás-állapota megváltozik.
  • A Just Enough Administration (JEA) egy új delegálási biztonsági funkció, amely a DSC-t és Windows PowerShell korlátozott futtatókörnyezeteket használja a vállalatok biztonságának megőrzéséhez az alkalmazottak adatvesztése vagy biztonsága ellen, akár szándékos, akár nem szándékos. A JEA-ról, beleértve az xJEA DSC-erőforrás letöltésének helyét is, a Just Enough Administration (Elegendő felügyelet) című témakörben talál további információt.
  • A következő új parancsmagok lettek hozzáadva a PSDesiredStateConfiguration modulhoz.
    • Egy új Get-DscConfigurationStatus parancsmag magas szintű információkat kap a célcsomópont konfigurációs állapotáról. Az utolsó vagy az összes konfiguráció állapotát lekértheti.
    • Az új Compare-DscConfiguration parancsmag egy megadott konfigurációt hasonlít össze egy vagy több célcsomópont tényleges állapotával.
    • Egy új Publish-DscConfiguration parancsmag egy konfigurációs MOF-fájlt másol egy célcsomópontra, de nem alkalmazza a konfigurációt. A konfiguráció a következő konzisztencia-átadás során vagy a Update-DscConfiguration parancsmag futtatásakor lesz alkalmazva.
    • Az új Test-DscConfiguration parancsmaggal ellenőrizheti, hogy az eredményül kapott konfiguráció megfelel-e a kívánt konfigurációnak, és true (Igaz) értéket ad vissza, ha a konfiguráció megfelel a kívánt konfigurációnak, vagy Hamis értéket, ha a tényleges konfiguráció nem felel meg a kívánt konfigurációnak.
    • Egy új Update-DscConfiguration parancsmag egy konfiguráció feldolgozását kényszeríti. Ha a Helyi Configuration Manager lekéréses módban van, a parancsmag az alkalmazás előtt lekéri a konfigurációt a lekérési kiszolgálóról.

Az ISE Windows PowerShell új funkciói

  • Mostantól szerkesztheti a távoli Windows PowerShell szkripteket és fájlokat az Windows PowerShell ISE helyi példányában, ha a Enter-PSSession futtatásával elindít egy távoli munkamenetet a szerkeszteni kívánt fájlokat tároló számítógépen, majd futtatja a PSEdit <elérési útját és fájlnevét a távoli számítógépen>. Ez a funkció megkönnyíti a Windows Server Server Core telepítési lehetőségében tárolt Windows PowerShell fájlok szerkesztését, ahol Windows PowerShell ISE nem futtatható.
  • A Start-Transcript parancsmag mostantól támogatott Windows PowerShell ISE-ben.
  • Mostantól hibakeresést végezhet a távoli szkriptek között Windows PowerShell ISE-ben.
  • Egy új menüparancs, a Break All (Ctrl+B) betörik a hibakeresőbe a helyi és a távolról futó szkriptek esetében is.

Új funkciók a Windows PowerShell Web Servicesben (Felügyeleti OData IIS-bővítmény)

  • Az 5.0-s Windows PowerShell-től kezdve Windows PowerShell parancsmagokat hozhat létre az adott OData-végpont által közzétett funkciók alapján, az új Microsoft.PowerShell.OdataUtils modulban található Export-ODataEndpointProxy parancsmag futtatásával.

Jelentős hibajavítások az Windows PowerShell 5.0-s verzióban

  • Windows PowerShell 5.0 tartalmaz egy új COM-implementációt, amely jelentős teljesítménybeli javulást kínál a COM-objektumok használatakor.
  • Jelentős teljesítménybeli fejlesztések történtek egy Windows PowerShell munkamenet első lapjának befejezéséhez, ami közel 500 ms-tal lerövidítette a tabulátor befejezési idejét.

A Windows PowerShell 4.0 új funkciói

Windows PowerShell 4.0 visszamenőlegesen kompatibilis. A Windows PowerShell 3.0-s és Windows PowerShell 2.0-s Windows PowerShell tervezett parancsmagok, szolgáltatók, modulok, beépülő modulok, beépülő modulok, szkriptek, függvények és profilok módosítás nélkül működnek a Windows PowerShell 4.0-ban.

Windows PowerShell 4.0 alapértelmezés szerint az Windows 8.1-re és Windows Server 2012 R2-re van telepítve. A Windows PowerShell 4.0 sp1 vagy Windows Server 2008 R2 rendszerű Windows 7-re való telepítéséhez töltse le és telepítse Windows Management Framework 4.0-s verzióját. A Windows Management Framework 4.0 telepítése előtt mindenképpen olvassa el a letöltés részleteit, és feleljen meg az összes rendszerkövetelményeknek.

Windows PowerShell 4.0 a következő új funkciókat tartalmazza.

Új funkciók a Windows PowerShell

  • A Windows PowerShell Desired State Configuration (DSC) egy új felügyeleti rendszer a Windows PowerShell 4.0-s verziójában, amely lehetővé teszi a konfigurációs adatok telepítését és kezelését a szoftverszolgáltatások és azon környezet számára, amelyben ezek a szolgáltatások futnak. A DSC-vel kapcsolatos további információkért lásd: A Windows PowerShell Desired State Configuration használatának első lépései.
  • A Save-Help mostantól lehetővé teszi a távoli számítógépekre telepített modulok súgójának mentését. A Save-Help segítségével letöltheti a Súgó modult egy internethez csatlakoztatott ügyfélprogramból (amelyen nem minden olyan modul van telepítve, amelyhez segítségre van szüksége), majd másolja a mentett súgót egy távoli megosztott mappába vagy egy olyan távoli számítógépre, amely nem rendelkezik internet-hozzáféréssel.
  • A Windows PowerShell hibakeresőt továbbfejlesztettük, hogy lehetővé tegye a Windows PowerShell munkafolyamatok, valamint a távoli számítógépeken futó szkriptek hibakeresését. Windows PowerShell munkafolyamatok mostantól a szkript szintjén is hibakeresést végezhetnek a Windows PowerShell parancssorból vagy Windows PowerShell ISE-ből. Windows PowerShell szkriptek, köztük a szkript-munkafolyamatok, mostantól hibakeresést végezhetnek a távoli munkamenetek során. A távoli hibakeresési munkamenetek megmaradnak Windows PowerShell leválasztott, majd később újracsatlakoztatott távoli munkameneteken keresztül.
  • A Register-ScheduledJob és a Set-ScheduledJobRunNow paramétere nem szükséges azonnali kezdési dátumot és időpontot beállítani a feladatokhoz a Trigger paraméterrel.
  • Az Invoke-RestMethod és az Invoke-WebRequest mostantól lehetővé teszi az összes fejléc beállítását a Fejlécek paraméterrel. Bár ez a paraméter mindig is létezett, a webes parancsmagok számos paraméterének egyike volt, amely kivételeket vagy hibákat eredményezett.
  • A Get-Module egy új, ModuleSpecification[] típusú, FullyQualifiedName paraméterrel rendelkezik. A Get-Module FullyQualifiedName paramétere mostantól lehetővé teszi egy modul megadását a modul nevével, verziójával és opcionálisan a GUID azonosítójával.
  • A Windows Server 2012 R2 alapértelmezett végrehajtási szabályzatbeállítása a RemoteSigned. A Windows 8.1-ben nincs változás az alapértelmezett beállításban.
  • A Windows PowerShell 4.0-tól kezdve a dinamikus metódusneveket használó metódushívás támogatott. Egy változóval tárolhatja a metódus nevét, majd dinamikusan meghívhatja a metódust a változó meghívásával.
  • Az aszinkron munkafolyamat-feladatok már nem törlődnek, ha a PSElapsedTimeoutSec munkafolyamat közös paramétere által megadott időtúllépési időszak lejárt.
  • A New-JobTrigger és a Set-JobTrigger parancsmagokhoz hozzáadtunk egy repeatIndefinitely nevű új paramétert. Ez szükségtelenné teszi egy TimeSpan.MaxValue érték megadását az IsmétlésDuration paraméterhez egy ütemezett feladat határozatlan időre történő ismételt futtatásához.
  • Passthru paraméter lett hozzáadva az Enable-JobTrigger és a Disable-JobTrigger parancsmagokhoz. A Passthru paraméter megjeleníti a parancs által létrehozott vagy módosított objektumokat.
  • A Munkacsoport add-Computer és Remove-Computer parancsmagokban való megadásához használt paraméternevek mostantól konzisztensek. Mindkét parancsmag a WorkgroupName paramétert használja.
  • Hozzáadtunk egy új gyakori paramétert, a PipelineVariable paramétert. A PipelineVariable lehetővé teszi, hogy a piped parancsok (vagy egy piped parancs egy része) eredményeit olyan változóként mentse, amely a folyamat hátralévő részében továbbítható.
  • Mostantól támogatott a gyűjteményszűrés metódusszintaxissal. Ez azt jelenti, hogy mostantól egy objektumgyűjteményt is szűrhet egyszerűsített szintaxissal, hasonlóan a Where() vagy Where-Object metódushívásként formázott gyűjteményéhez. A következő egy példa: (Get-Process).where({$_. Név -match 'powershell'})
  • A Get-Process parancsmag új kapcsolóparaméterrel rendelkezik: IncludeUserName.
  • Hozzáadtunk egy új Get-FileHash parancsmagot, amely egy fájlkivonatot ad vissza a megadott fájl számos formátumának egyikében.
  • A Windows PowerShell 4.0-s verziójában, ha egy modul a DefaultCommandPrefix kulcsot használja a jegyzékben, vagy ha a felhasználó importál egy modult az Előtag paraméterrel, a modul ExportedCommands tulajdonsága megjeleníti a modul parancsait az előtaggal. Ha a parancsokat a ModulNév\CommandName modulszintaxissal futtatja, a parancsneveknek tartalmazniuk kell az előtagot.
  • A $PSVersionTable.PSVersion értéke 4.0-ra frissült.
  • A Where() operátor viselkedése megváltozott. Collection.Where('property -match name') a sztringkifejezések formátumba "Property -CompareOperator Value" való elfogadása már nem támogatott. A Where() operátor azonban szkriptblokk formátumban fogadja el a sztringkifejezéseket; ez továbbra is támogatott.

Új funkciók Windows PowerShell integrált szkriptelési környezetben (ISE)

  • Windows PowerShell ISE támogatja a Windows PowerShell munkafolyamat-hibakeresést és a távoli szkriptek hibakeresését.
  • Az IntelliSense támogatása Windows PowerShell Desired State Configuration szolgáltatókhoz és konfigurációkhoz lett hozzáadva.

Új funkciók Windows PowerShell munkafolyamatban

  • Támogatás lett hozzáadva egy új PipelineVariable gyakori paraméterhez az iteratív folyamatok kontextusában, például a System Center Orchestrator által használtakhoz; vagyis a parancsokat futtató folyamatok egyszerűen balról jobbra futnak, szemben a streameléssel futó, egymást átjárt folyamatokkal.
  • A paraméterkötés jelentősen ki lett javítva, hogy a tabulátorkiegészítési forgatókönyveken kívül is működjön, például olyan parancsokkal, amelyek nem léteznek az aktuális runspace-ben.
  • Az egyéni tárolótevékenységek támogatása Windows PowerShell munkafolyamathoz lett hozzáadva. Ha egy tevékenységparaméter Tevékenység, Tevékenység[] (vagy általános tevékenységgyűjtemény) típusú, és a felhasználó argumentumként adott meg egy szkriptblokkot, akkor Windows PowerShell Munkafolyamat a szkriptblokkot XAML-vé alakítja, ahogyan a normál Windows PowerShell szkript-munkafolyamat fordítás esetén is.
  • Összeomlás után Windows PowerShell munkafolyamat automatikusan újracsatlakozik a felügyelt csomópontokhoz.
  • Mostantól a ThrottleLimit tulajdonság használatával szabályozhatja a Foreach -Parallel tevékenységmegadásokat.
  • Az ErrorAction common paraméter új érvényes értékkel ( Suspend) rendelkezik, amely kizárólag munkafolyamatokhoz használható.
  • A munkafolyamat-végpontok automatikusan bezáródnak, ha nincsenek aktív munkamenetek, nincsenek folyamatban lévő feladatok és nincsenek függőben lévő feladatok. Ez a funkció megőrzi a munkafolyamat-kiszolgálóként működő számítógépen található erőforrásokat, amikor teljesülnek az automatikus lezárási feltételek.

A Windows PowerShell Web Services új funkciói

  • Ha hiba történik Windows PowerShell Web Servicesben (PSWS, más néven Felügyeleti OData IIS-bővítmény), miközben egy parancsmag fut, a rendszer részletesebb hibaüzeneteket ad vissza a hívónak. Emellett a hibakódok a Windows Azure REST API hibakódra vonatkozó irányelveit követik.
  • A végpontok mostantól definiálhatják az API-verziót, valamint kikényszeríthetik egy adott API-verzió használatát. Amikor a verzióeltérések az ügyfél és a kiszolgáló között fordulnak elő, hibák jelennek meg mind az ügyfél, mind a kiszolgáló számára.
  • A küldési séma kezelése egyszerűbb lett, mert automatikusan generál értékeket a séma hiányzó mezőihez. A létrehozás hasznos kiindulási pontként történik, még akkor is, ha a küldési séma nem létezik.
  • A PSWS-ben a típuskezelést továbbfejlesztettük az alapértelmezett konstruktortól eltérő konstruktort használó típusok támogatásához úgy, hogy az Windows PowerShell PSTypeConverteréhez hasonlóan viselkednek. Ez lehetővé teszi, hogy összetett típusokat használjon a PSWS-sel.
  • A PSWS mostantól lehetővé teszi egy társított példány kibontását lekérdezés futtatásakor. Nagyobb bináris tartalom (például képek, hang vagy videó) esetén az átviteli költség jelentős, és jobb, ha kódolás nélkül továbbít bináris adatokat. A PSWS nevű erőforrás-adatfolyamokat használ a kódolás nélküli átvitelhez. A névvel ellátott erőforrásfolyam egy Edm.Stream típusú entitás tulajdonsága. Minden megnevezett erőforrásfolyam külön URI-t használ a GET vagy UPDATE műveletekhez.
  • Az OData-műveletek mostantól lehetővé teszik a nem CRUD (Létrehozás, Olvasás, Frissítés és Törlés) metódusok meghívását egy erőforráson. A művelet meghívásához http POST-kérést küldhet a művelethez definiált URI-nak. A művelet paramétereit a POST-kérelem törzse határozza meg.
  • A Windows Azure-irányelveknek való konzisztensség érdekében minden URL-címet egyszerűsíteni kell. A kulcsszegmensben szereplő módosítás lehetővé teszi, hogy az egyes kulcsok szegmensekként jelenjenek meg. Vegye figyelembe, hogy a több kulcsértéket használó hivatkozásokhoz vesszővel elválasztott értékeket kell használni a zárójeles jelölésben, mint korábban.
  • A PSWS ezen kiadása előtt az Létrehozás, a Frissítés vagy a Törlés művelet végrehajtásának egyetlen módja a Post, Put vagy Delete meghívása volt egy legfelső szintű erőforráson. A PSWS jelen kiadásában újdonságként a tartalmazott erőforrás-műveletek lehetővé teszik, hogy a felhasználók ugyanazt az eredményt érjék el, miközben kevesebbet érnek el ugyanazt az erőforrást közvetlenül, és úgy közelítenek, mintha ezek az erőforrások lennének.

A Windows PowerShell Web Access új funkciói

  • A webalapú Windows PowerShell Web Access-konzolon leválaszthatja a kapcsolatot a meglévő munkamenetekkel, és újracsatlakozhat. A webalapú konzol Mentés gombjával anélkül bonthatja le a munkamenetet, hogy törölené azt, és újból csatlakozik a munkamenethez.
  • Az alapértelmezett paraméterek a bejelentkezési oldalon jeleníthetők meg. Az alapértelmezett paraméterek megjelenítéséhez konfigurálja az értékeket a bejelentkezési lap Opcionális csatlakozási beállítások területén megjelenő összes beállításhoz egy web.confignevű fájlban. A web.config fájl használatával konfigurálhatja az összes választható kapcsolati beállítást, kivéve egy második vagy alternatív hitelesítőadat-készletet.
  • Az Windows Server 2012 R2-ben távolról kezelheti a Windows PowerShell Web Access engedélyezési szabályait. Az Add-PswaAuthorizationRule és a Test-PswaAuthorizationRule parancsmagok mostantól tartalmaznak egy hitelesítőadat-paramétert, amely lehetővé teszi a rendszergazdák számára az engedélyezési szabályok távoli számítógépről vagy egy Windows PowerShell Web Access-munkamenetben való kezelését.
  • Mostantól több Windows PowerShell Web Access-munkamenetet is futtathat egyetlen böngésző-munkamenetben, ha minden munkamenethez új böngészőlapot használ. A webalapú Windows PowerShell konzolon már nem kell megnyitnia egy új böngésző-munkamenetet egy új munkamenethez való csatlakozáshoz.

A Windows PowerShell 4.0 jelentős hibajavításai

  • A Get-Counter mostantól olyan számlálókat tud visszaadni, amelyek aPosztróf karaktert tartalmaznak a Windows francia kiadásaiban.
  • Most már megtekintheti a GetType metódust deszerializált objektumokon.
  • #Requires utasítások mostantól lehetővé teszik a felhasználóknak, hogy szükség esetén rendszergazdai hozzáférési jogosultságokat követelhessenek meg.
  • Az Import-Csv parancsmag mostantól figyelmen kívül hagyja az üres sorokat.
  • Kijavítottunk egy hibát, amely miatt Windows PowerShell ISE túl sok memóriát használ az Invoke-WebRequest parancs futtatásakor.
  • A Get-Module mostantól egy Verzió oszlopban jeleníti meg a modulverziókat.
  • Remove-Item -Recurse mostantól eltávolítja az elemeket az almappákból a várt módon.
  • A Rendszer hozzáad egy UserName tulajdonságot a Get-Process kimeneti objektumokhoz.
  • Az Invoke-RestMethod parancsmag mostantól az összes elérhető eredményt visszaadja.
  • A bővítménytag mostantól a kivonattáblákra is érvényes, még akkor is, ha a kivonattáblák még nem érhetők el.
  • Select-Object -Expand a továbbiakban nem meghiúsul, vagy kivételt hoz létre, ha a tulajdonság értéke null vagy üres.
  • A Get-Process mostantól olyan folyamatokban is használható, amelyek más parancsokkal lekérik a ComputerName tulajdonságot az objektumokból.
  • A ConvertTo-Json és a ConvertFrom-Json mostantól dupla idézőjelek között fogadja el a feltételeket, és a hibaüzenetek mostantól honosíthatók.
  • A Get-Job mostantól az összes befejezett ütemezett feladatot visszaadja, még az új munkamenetekben is.
  • Kijavítottuk az Windows PowerShell 4.0 fájlrendszerszolgáltatót használó virtuális merevlemezek csatlakoztatásával és leválasztásával kapcsolatos problémákat. Windows PowerShell képes észlelni az új meghajtókat, amikor ugyanabban a munkamenetben vannak csatlakoztatva.
  • A feladattípusok használatához már nem kell explicit módon betöltenie az Ütemezett feladat vagy a Munkafolyamat modulokat.
  • Teljesítménybeli fejlesztések történtek a beágyazott munkafolyamatokat definiáló munkafolyamatok importálásának folyamatában; ez a folyamat most már gyorsabb.

A Windows PowerShell 3.0 új funkciói

Windows PowerShell 3.0 a következő új funkciókat tartalmazza.

Windows PowerShell munkafolyamat

Windows PowerShell Munkafolyamat a Windows Workflow Foundation erejét Windows PowerShell. Munkafolyamatokat írhat XAML-ben vagy Windows PowerShell nyelven, és ugyanúgy futtathatja őket, mint egy parancsmagot. A Get-Command parancsmag munkafolyamat-parancsokat kap, a Get-Help parancsmag pedig segítséget kap a munkafolyamatokhoz.

A munkafolyamatok hosszú ideig futó, megismételhető, gyakori, párhuzamosítható, megszakítható, felfüggeszthető és újraindítható többszámítógépes felügyeleti tevékenységek sorozatai. A munkafolyamatok szándékos vagy véletlen megszakítással folytathatók, például hálózati kimaradások, Windows-újraindítás vagy áramkimaradás miatt.

A munkafolyamatok hordozhatóak is; XAML-fájlokként exportálhatók vagy importálhatók. Egyéni munkamenet-konfigurációkat írhat, amelyek lehetővé teszik, hogy a munkafolyamatokat vagy tevékenységeket delegált vagy alárendelt felhasználók futtatják.

Az alábbiakban a munkafolyamat Windows PowerShell előnyeiről olvashat.

  • Szekvenciált, hosszú ideig futó feladatok automatizálása.
  • Hosszú ideig futó tevékenységek távoli monitorozása. A tevékenységek állapota és állapota bármikor látható.
  • Többszámítógépes felügyelet. Egyszerre több száz felügyelt csomóponton futtathat feladatokat munkafolyamatként. Windows PowerShell munkafolyamat tartalmazza a gyakori felügyeleti paraméterek beépített kódtárát, például a PSComputerName-t, amely lehetővé teszi a többszámítógépes felügyeleti forgatókönyveket.
  • Összetett folyamatok egyetlen feladatvégrehajtása. A kapcsolódó szkripteket egyetlen munkafolyamatban kombinálhatja, amelyek teljes körű forgatókönyvet implementálnak.
  • Állandóság.: a rendszer a munkafolyamatot a szerző által meghatározott meghatározott pontokra menti (vagy ellenőrzi), hogy a munkafolyamatot az utolsó megőrzött tevékenységből (vagy ellenőrzőpontból) folytathassa a munkafolyamat újraindítása helyett.
  • Robosztussági. Automatikus hibahelyreállítás. A munkafolyamatok túlélik a tervezett és nem tervezett újraindításokat. Felfüggesztheti a munkafolyamat végrehajtását, majd folytathatja a munkafolyamatot az utolsó adatmegőrzési pontról. A munkafolyamat-szerzők kijelölhetnek bizonyos tevékenységeket, amelyek újrafuttathatók egy vagy több felügyelt csomópont meghibásodása esetén.
  • Kapcsolat bontásának, újracsatlakoztatásának és futtatásának képessége leválasztott munkamenetekben. A felhasználók csatlakozhatnak a munkafolyamat-kiszolgálóhoz, és leválaszthatják a kapcsolatot, de a munkafolyamat folyamatosan fut. Kijelentkezhet az ügyfélszámítógépről, vagy újraindíthatja az ügyfélszámítógépet, és figyelheti a munkafolyamat végrehajtását egy másik számítógépről anélkül, hogy megszakítja a munkafolyamatot.
  • Ütemezési. A munkafolyamat-feladatok ütemezése bármely Windows PowerShell parancsmaghoz vagy szkripthez hasonlóan ütemezhető.
  • Munkafolyamat- és kapcsolatszabályozás. A munkafolyamat-végrehajtás és a csomópontokhoz való csatlakozás szabályozható, így skálázható és magas rendelkezésre állású forgatókönyvek hozhatók létre.

Webes Windows PowerShell-elérés

Windows PowerShell Web Access egy Windows Server 2012 funkció, amellyel a felhasználók Windows PowerShell parancsokat és szkripteket futtathatnak egy webalapú konzolon. A webalapú konzolt használó eszközökhöz nincs szükség Windows PowerShell, távfelügyeleti szoftverre vagy böngésző beépülő modul telepítésére. Mindössze egy megfelelően konfigurált Windows PowerShell Web Access-átjáróra és egy JavaScriptet támogató és cookie-kat elfogadó ügyféleszköz-böngészőre van szükség.

További információ: Windows PowerShell Web Access üzembe helyezése.

Új Windows PowerShell ISE-funkciók

A Windows PowerShell 3.0-hoz Windows PowerShell integrált szkriptelési környezet (ISE) számos új funkcióval rendelkezik, beleértve az IntelliSense-t, az Show-Command-ablakot, az egyesített konzolpanelt, a kódrészleteket, a kapcsos egyeztetést, a kibontási és összecsukási szakaszokat, az automatikus mentést, a legutóbbi elemek listáját, a rich copy-ot, a blokkmásolást, valamint a Windows PowerShell szkript írásának teljes támogatását Munkafolyamatok. További információ: about_Windows_PowerShell_ISE.

A Microsoft .NET-keretrendszer 4 támogatása

Windows PowerShell a Common Language Runtime 4.0-ra épül. A parancsmagok, szkriptek és munkafolyamat-szerzők az új Microsoft .NET-keretrendszer 4 osztályt használhatják a Windows PowerShell-ben, olyan funkciókkal, mint az alkalmazáskompatibilitás és az üzembe helyezés, a Managed Extensibility Framework, a párhuzamos számítástechnika, a hálózatkezelés, a Windows Communication Foundation és a Windows Munkafolyamat-alaprendszer.

Windows előtelepítési környezet támogatása

Windows PowerShell 3.0 a Windows előtelepítési környezet (Windows PE) 4.0 opcionális összetevője Windows 8. A Windows PE egy minimális operációs rendszer, amely elindít egy olyan számítógépet, amely nem rendelkezik operációs rendszerrel, és előkészíti azt a Windows telepítésére. A Windows PE használatával merevlemezeket particionálhat és formázhat, lemezképeket másolhat a számítógépre, és elindíthatja a Windows telepítőjét egy hálózati megosztásból. Windows PowerShell 3.0 a Windows PE-n használható az üzembe helyezési, diagnosztikai és helyreállítási forgatókönyvek kezelésére.

Leválasztott munkamenetek

A Windows PowerShell 3.0-tól kezdve a New-PSSession parancsmaggal létrehozott, felhasználó által felügyelt állandó munkamenetek (PSSessions) a távoli számítógépre lesznek mentve. Már nem függnek attól a munkamenettől, amelyben létrehozták őket.

Most már leválaszthatja a munkamenetet anélkül, hogy megzavarná a munkamenetben futó parancsokat. Bezárhatja a munkamenetet, és leállíthatja a számítógépet. Később újra csatlakozhat a munkamenethez egy másik munkamenetből ugyanazon vagy egy másik számítógépen.

A parancsmag ComputerName paramétere Get-PSSession mostantól lekéri a számítógéphez csatlakozó összes felhasználó munkamenetét, még akkor is, ha egy másik számítógépen egy másik munkamenetben indultak el. Csatlakozhat a munkamenetekhez, lekérheti a parancsok eredményeit, új parancsokat indíthat, majd leválaszthatja a munkamenetet.

Új parancsmagok lettek hozzáadva a Leválasztott munkamenetek funkció támogatásához, beleértve Disconnect-PSSessiona , Connect-PSSessionés Receive-PSSessiona parancsmagokat, és új paraméterek lettek hozzáadva a PSSessions-t kezelő parancsmagokhoz, például a Invoke-Command parancsmag InDisconnectedSession paraméteréhez.

A Leválasztott munkamenetek funkció csak akkor támogatott, ha a kapcsolat forrása ("ügyfél") és a megszakító ("kiszolgáló") végpontja egyaránt a 3.0-s Windows PowerShell fut.

Robusztus munkamenet-kapcsolat

Windows PowerShell 3.0 észleli az ügyfél és a kiszolgáló közötti kapcsolat váratlan megszakadását, és megpróbálja helyreállítani a kapcsolatot, és automatikusan folytatni a végrehajtást. Ha az ügyfél-kiszolgáló kapcsolatot nem lehet újra létesíteni a kiosztott időpontban, a felhasználó értesítést kap, és a munkamenet megszakad. Az újracsatlakozás során Windows PowerShell folyamatos visszajelzést ad a felhasználónak.

Ha a leválasztott munkamenetet az InvokeCommand használatával indították el, Windows PowerShell létrehoz egy feladatot a leválasztott munkamenethez, hogy megkönnyítse az újracsatlakozást és a végrehajtás folytatását.

Ezek a funkciók megbízhatóbb és helyreállíthatóbb visszaállítási élményt biztosítanak, és lehetővé teszik a felhasználók számára, hogy olyan hosszú ideig futó feladatokat hajtsanak végre, amelyek robusztus munkameneteket, például munkafolyamatokat igényelnek.

Frissíthető súgórendszer

Most már letöltheti a modulokban lévő parancsmagok frissített súgófájljait. A Update-Help parancsmag azonosítja a legújabb súgófájlokat, letölti őket az internetről, kicsomagolja, ellenőrzi és telepíti őket a modul nyelvspecifikus könyvtárába.

A frissített súgófájlok használatához egyszerűen írja be a következőt Get-Help: . Nem kell újraindítania a Windowst vagy a Windows PowerShell. A $pshome könyvtár moduljainak súgójának frissítéséhez indítsa el Windows PowerShell a "Futtatás rendszergazdaként" beállítással.

Az internet-hozzáféréssel nem rendelkező felhasználók és a tűzfal mögötti felhasználók támogatása érdekében az új Save-Help parancsmag letölti a súgófájlokat egy fájlrendszerkönyvtárba, például egy fájlmegosztásba. A felhasználók ezután a Update-Help parancsmaggal frissíthetik a súgófájlokat a fájlmegosztásból.

A parancsmaggal frissítheti az Update-Help összes vagy adott modul súgófájljait az összes támogatott felhasználói felületi kultúrában. Akár egy parancsot Update-Help is elhelyezhet a Windows PowerShell-profiljában. Alapértelmezés szerint Windows PowerShell naponta legfeljebb egyszer tölti le egy modul súgófájljait.

Windows 8 és Windows Server 2012 modulok nem tartalmaznak súgófájlokat. A legújabb súgófájlok letöltéséhez írja be a következőt Update-Help: . További információ: Get-Help (paraméterek nélkül) vagy lásd: about_Updatable_Help.

Ha a parancsmag súgófájljai nincsenek telepítve a számítógépre, a Get-Help parancsmag mostantól automatikusan létrehozott súgót jelenít meg. Az automatikusan létrehozott súgó tartalmazza a parancs szintaxisát és a parancsmag súgófájlok letöltésére való használatára Update-Help vonatkozó utasításokat.

A modul bármely szerzője támogathatja a modul frissíthető súgóját. Felvehet súgófájlokat a modulba, és az Frissíthető súgó segítségével frissítheti őket, vagy kihagyhatja a súgófájlokat, és az Frissíthető súgó segítségével telepítheti őket. További információ a frissíthető súgó támogatásáról: Frissíthető súgó támogatása.

Továbbfejlesztett online súgó

Windows PowerShell online súgó minden felhasználó számára értékes erőforrás, de különösen fontos azoknak a felhasználóknak, akik nem vagy nem tudják telepíteni a frissített súgófájlokat.

Ha online segítséget szeretne kapni Windows PowerShell parancsmaghoz, írja be a következőt:

Get-Help <cmdlet-name> -Online

Windows PowerShell megnyitja a súgótémakör online verzióját az alapértelmezett internetböngészőben.

A Windows PowerShell 3.0 Get-Help -Online funkciója mostantól még hatékonyabb, mert akkor is működik, ha a parancsmag súgófájljai nincsenek telepítve a számítógépre. A Get-Help -Online funkció lekéri az online súgótémakör URI-ját a parancsmagok és speciális függvények HelpUri tulajdonságából.

PS C:\>(Get-Command Get-ScheduledJob).HelpUri
https://go.microsoft.com/fwlink/?LinkID=223923

A Windows PowerShell 3.0-tól kezdődően a C# parancsmagok szerzői feltölthetik a HelpUri tulajdonságot egy HelpUri attribútum létrehozásával a parancsmagosztályban. A speciális függvények szerzői meghatározhatnak egy HelpUri tulajdonságot a CmdletBinding attribútumban. A HelpUri tulajdonság értékének "http" vagy "https" karakterrel kell kezdődnie.

Az XML-alapú parancsmag súgófájljának vagy a fájlnak az első kapcsolódó hivatkozásában is megadhat egy HelpUri értéket. Egy függvény megjegyzésalapú súgójának hivatkozásirányelvét.

További információ az online súgó támogatásáról: Online súgó támogatása.

CIM-integráció

Windows PowerShell 3.0 tartalmazza a Common Information Model (CIM) támogatását, amely a rendszerek, hálózatok, alkalmazások és szolgáltatások felügyeleti információinak közös definícióit biztosítja, lehetővé téve számukra a felügyeleti információk heterogén rendszerek közötti cseréjét. A CIM támogatása a Windows PowerShell 3.0-s verziójában, beleértve az új vagy meglévő CIM-osztályokon alapuló Windows PowerShell parancsmagok készítését, a parancsmagdefiníciós XML-fájlokon alapuló parancsokat, a CIM-.NET-keretrendszer támogatását. API-, CIM-felügyeleti parancsmagok és WMI 2.0-szolgáltatók.

Munkamenet-konfigurációs fájlok

A Windows PowerShell 3.0-tól kezdve egy fájllal tervezhet egyéni munkamenet-konfigurációt. Az új munkamenet-konfigurációs fájl segítségével meghatározhatja a munkamenet-konfigurációt használó munkamenetek környezetét, beleértve a munkamenetekbe betöltött modulokat, szkripteket és formátumfájlokat, a felhasználók által használható parancsmagokat és nyelvi elemeket, a futtatható modulokat és szkripteket, valamint az általuk látható változókat.

Tervezhet olyan munkamenetet, amelyben a felhasználók csak egy adott modul parancsmagjait futtathatják, vagy olyan munkamenetet, amelyben a felhasználók teljes nyelvvel rendelkeznek, hozzáférhetnek az összes modulhoz, és hozzáférhetnek a speciális feladatokat végző szkriptekhez.

A Windows PowerShell korábbi verzióiban az ezen a szinten történő vezérlés csak azok számára volt elérhető, akik C# programot vagy összetett indítási szkriptet írhattak. Most a számítógép Rendszergazdák csoportjának bármely tagja testre szabhatja a munkamenet-konfigurációt egy konfigurációs fájl használatával.

Munkamenet-konfigurációs fájl létrehozásához használja a New-PSSessionConfigurationFile parancsmagot. A munkamenet-konfigurációs fájl munkamenet-konfigurációra való alkalmazásához használja a vagy a Register-PSSessionConfiguration "Set-PSSessionConfiguration parancsmagokat.

További információ: about_Session_Configuration_Files és New-PSSessionConfigurationFile.

Ütemezett feladatok és feladatütemező integrációja

Mostantól ütemezhet Windows PowerShell háttérfeladatokat, és kezelheti őket a Windows PowerShell és a Feladatütemezőben.

Windows PowerShell ütemezett feladatok a Windows PowerShell háttérfeladatok és a Feladatütemező tevékenységek hasznos hibridje.

A Windows PowerShell háttérfeladathoz hasonlóan az ütemezett feladatok is aszinkron módon futnak a háttérben. A befejezett ütemezett feladatok példányai a feladat parancsmagjaival kezelhetők, például Start-Job és Get-Job.

A Feladatütemező tevékenységekhez hasonlóan az ütemezett feladatokat is futtathatja egy egyszeri vagy ismétlődő ütemezésben, illetve egy művelet vagy esemény alapján. Az ütemezett feladatokat megtekintheti és kezelheti a Feladatütemezőben, igény szerint engedélyezheti és letilthatja őket, futtathatja vagy sablonként használhatja őket, és megadhatja a feladatok indításának feltételeit.

Emellett az ütemezett feladatokhoz testre szabott parancsmagok is járnak a kezelésükhöz. A parancsmagokkal ütemezett feladatokat hozhat létre, szerkeszthet, kezelhet, tilthat le és engedélyezhet újra, ütemezett feladattriggereket hozhat létre, és ütemezett feladatbeállításokat állíthat be.

Az ütemezett feladatokkal kapcsolatos további információkért lásd: about_Scheduled_Jobs.

Windows PowerShell nyelvi fejlesztések

Windows PowerShell 3.0 számos olyan funkciót tartalmaz, amelyek egyszerűbbé, könnyebben használhatóvá és a gyakori hibák elkerülése érdekében lettek kialakítva. A fejlesztések közé tartozik a tulajdonságok számbavétele, a skaláris objektumok szám- és hossztulajdonságai, az új átirányítási operátorok, a $Using hatókör-módosító, a PSItem automatikus változó, a rugalmas szkriptformázás, a változók attribútumai, az egyszerűsített attribútumargumentumok, a numerikus parancsnevek, a Stop-Parsing operátor, a továbbfejlesztett tömbplatform, az új bitoperátorok, a rendezett szótárak, a PSCustomObject casting és a továbbfejlesztett megjegyzésalapú súgó.

Új Core-parancsmagok

Új parancsmagok lettek hozzáadva a Windows PowerShell-telepítéshez, beleértve az ütemezett feladatok kezelésére szolgáló parancsmagokat, a leválasztott munkameneteket, a CIM-integrációt és az frissíthető súgórendszert.

  • CimCmdlets
    • Get-CimAssociatedInstance
    • Get-CimClass
    • Get-CimInstance
    • Get-CimSession
    • Invoke-CimMethod
    • New-CimInstance
    • New-CimSession
    • New-CimSessionOption
    • Register-CimIndicationEvent
    • Remove-CimInstance
    • Remove-CimSession
    • Set-CimInstance
  • Microsoft.PowerShell.Core
    • Connect-PSSession
    • Disconnect-PSSession
    • New-PSSessionConfigurationFile
    • New-PSTransportOption
    • Receive-PSSession
    • Resume-Job
    • Save-Help
    • Suspend-Job
    • Test-PSSessionConfigurationFile
    • Update-Help
  • Microsoft.PowerShell.Diagnostics
    • New-WinEvent
  • Microsoft.PowerShell.Management
    • Get-ControlPanelItem
    • Rename-Computer
    • Show-ControlPanelItem
  • Microsoft.PowerShell.Utility
    • ConvertFrom-Json
    • ConvertTo-Json
    • Get-TypeData
    • Invoke-RestMethod
    • Invoke-WebRequest
    • Remove-TypeData
    • Show-Command
    • Unblock-File
  • PSScheduledJob
    • Add-JobTrigger
    • Disable-JobTrigger
    • Disable-ScheduledJob
    • Enable-JobTrigger
    • Enable-ScheduledJob
    • Get-JobTrigger
    • Get-ScheduledJob
    • Get-ScheduledJobOption
    • New-JobTrigger
    • New-ScheduledJobOption
    • Register-ScheduledJob
    • Set-JobTrigger
    • Set-ScheduledJob
    • Set-ScheduledJobOption
    • Unregister-ScheduledJob
  • PSWorkflow
    • New-PSWorkflowExecutionOption
    • New-PSWorkflowSession
  • PSWorkflowUtility
    • Invoke-AsWorkflow
  • ISE
    • Get-IseSnippet
    • Import-IseSnippet
    • New-IseSnippet

A meglévő core parancsmagok és -szolgáltatók fejlesztései

Windows PowerShell 3.0 új funkciókat tartalmaz a meglévő parancsmagokhoz, beleértve az egyszerűsített szintaxist, és új paraméterek a következő parancsmagokhoz: Számítógép-parancsmagok, CSV-parancsmagok, Get-ChildItem, Get-Command, Get-Content, Get-History, Measure-Object, Security parancsmagok, Select-Object, Select-String, Split-Path, Start-Process, Tee-Object, Test-Connection, Add-Member és WMI-parancsmagok.

A Windows PowerShell-szolgáltatókat is jelentősen továbbfejlesztettük, beleértve a tanúsítványszolgáltatói támogatást a secure socket layer (SSL) tanúsítványok webes üzemeltetéshez való kezeléséhez, a hitelesítő adatok, az állandó hálózati meghajtók és a fájlrendszer-meghajtók alternatív adatfolyamainak támogatásához.

Távoli modul importálása és felderítése

Windows PowerShell 3.0 kibővíti a modulfelderítési, importálási és implicit újraegyeztetési képességeket a távoli számítógépeken. A Modul parancsmagok lekérik a modulokat a távoli számítógépeken, és Windows PowerShell újraindítással importálják a modulokat a távoli vagy helyi számítógépre. Az új CIM-munkamenet támogatása lehetővé teszi, hogy a CIM és a WMI használatával kezelje a nem Windows rendszerű számítógépeket úgy, hogy parancsokat importál a távoli számítógépen implicit módon futó helyi számítógépre.

További információt a és Import-Module parancsmagok súgótémakörökben Get-Module talál.

Továbbfejlesztett lapkiegészítés

A Windows PowerShell konzol tabulátorkiegészítése mostantól befejezi a parancsmagok, paraméterek, paraméterértékek, enumerálások, .NET-keretrendszerek típusai, COM-objektumok, rejtett könyvtárak és egyebek nevét. A tabulátorkiegészítési funkció teljesen át van írva egy új elemző és absztrakt szintaxisfa alapján, hogy több forgatókönyvet is támogatjon, beleértve a memórián belüli elemzési fákat és a középvonalas tabulátorkiegészítést.

Modul automatikus betöltése

A Get-Command parancsmag mostantól minden parancsmagot és függvényt lekér a számítógépre telepített összes modulból, még akkor is, ha a modul nincs importálva az aktuális munkamenetbe.

Amikor megkapja a szükséges parancsmagot, azonnal használhatja modulok importálása nélkül. Windows PowerShell modulokat a rendszer automatikusan importálja, amikor a modul bármely parancsmagját használja. A modult már nem kell megkeresnie és importálnia a parancsmagok használatához.

A modulok automatikus importálása a parancs Get-Command parancsmagjának használatával, helyettesítő karakterek nélküli parancsmagok futtatásával vagy helyettesítő karakterek nélküli parancsmagok futtatásával Get-Help aktiválódik.

A modulok automatikus importálását a $PSModuleAutoLoadingPreference beállítási változóval engedélyezheti, tilthatja le és konfigurálhatja.

További információ: about_Modules, about_Preference_Variables, valamint a és Import-Module parancsmagok Get-Command súgótémakörök.

Modulélmény fejlesztései

Windows PowerShell 3.0 speciális funkciókkal támogatja a modulokat, beleértve az alábbi új funkciókat.

  1. Modulnaplózás az egyes modulokhoz (LogPipelineExecutionDetails) és az új "Modulnaplózás bekapcsolása" Csoportházirend beállításhoz
  2. Kiterjesztett modulobjektumok, amelyek elérhetővé teszik a moduljegyzék értékeit
  3. A modulok új ExportedCommands tulajdonsága, beleértve a beágyazott modulokat is, amelyek minden típusú parancsot kombinálnak
  4. Az elérhető (nem importált) modulok jobb felderítése, beleértve a Path és a ListAvailable paraméterek engedélyezését ugyanabban a parancsban
  5. Új DefaultCommandPrefix kulcs a moduljegyzékekben, amely a modulkód módosítása nélkül elkerüli a névütközéseket.
  6. Továbbfejlesztett modulkövetelmények, beleértve a teljes mértékben minősített, verziójú és GUID azonosítójú modulokat, valamint a szükséges modulok automatikus importálását
  7. A parancsmag csendesebb, zökkenőmentesebb New-ModuleManifest működése.
  8. Új modulparaméter a #Requires
  9. Továbbfejlesztett Import-Module parancsmag a MinimumVersion és a RequiredVersion paraméterekkel.

Egyszerűsített parancsfelderítés

A munkamenethez elérhető parancsok felderítéséhez már nem kell minden modult importálnia. A Windows PowerShell 3.0-ban a parancsmag az Get-Command összes telepített modulból lekéri az összes parancsot. Ha pedig parancsot használ, a parancsot exportáló modul automatikusan importálódik a munkamenetbe.

Az új Show-Command parancsmag kifejezetten kezdőknek készült. Egy ablakban kereshet parancsokat. Megtekintheti az összes parancsot vagy szűrhet modul szerint, importálhat egy modult egy gombra kattintva, szövegdobozokkal és legördülő listákkal létrehozhat egy érvényes parancsot, majd az ablak elhagyása nélkül másolhatja vagy futtathatja a parancsot.

Továbbfejlesztett naplózási, diagnosztikai és Csoportházirend-támogatás

Windows PowerShell 3.0 javítja a parancsok és modulok naplózási és nyomkövetési támogatását az eseménykövetés windowsos (ETW) naplóinak támogatásával, a modulok szerkeszthető LogPipelineExecutionDetails tulajdonságával és a "Modulnaplózás bekapcsolása" Csoportházirend beállítással. A naplótulajdonságok megjelenítésével mostantól a napló részleteiből is lekérheti a paraméterértékeket.

Formázási és kimeneti fejlesztések

Az új formázási és kimeneti fejlesztések növelik az összes Windows PowerShell felhasználó hatékonyságát. A fejlesztések közé tartozik az összes stream kimeneti átirányítása, egy továbbfejlesztett Update-Type-parancsmag, amely dinamikusan ad hozzá típusokat Format.ps1xml-fájlok nélkül, szóburkolás a kimenetben, az egyéni objektumok alapértelmezett formázási tulajdonságai, a PSCustomObject típus, a WMI-objektumok és heterogén objektumok továbbfejlesztett formázása, valamint a metódusok túlterhelésének felderítése.

Továbbfejlesztett konzolgazdai élmény

A Windows PowerShell konzol gazdagép program új funkciókkal rendelkezik a Windows PowerShell 3.0-ban, beleértve az egyszálas apartmant alapértelmezés szerint. A Fájlkezelő új "Futtatás PowerShell-lel" beállításával egyszerűen a jobb gombbal kattintva futtathat szkripteket korlátlan munkamenetben. Az új konzol gazdagépindítási logikája Windows PowerShell gyorsabban elindul, és az új betűtípusok lehetővé teszik a jól ismert konzolablak-élmény személyre szabásához.

Új parancsmag és üzemeltetési API-k

Az új Cmdlet API és az Üzemeltetési API nyilvános speciális szintaxisfa (AST) API-kat és API-kat tartalmaz a folyamatlapozáshoz, a beágyazott folyamatokhoz, a futtatókörnyezetkészletek lapjának befejezéséhez, Windows RT, az Elavult parancsmag attribútumhoz, valamint a FunctionInfo objektum Verb és Főnév tulajdonságaihoz.

Teljesítménnyel kapcsolatos fejlesztések

A Windows PowerShell jelentős teljesítménybeli fejlesztései az új nyelvi elemzőből származnak, amely a 4. .NET-keretrendszer dinamikus futtatókörnyezeti nyelvére (DLR) épül, valamint a futtatókörnyezeti szkriptek fordításával, a motor megbízhatóságának javításával és az Get-ChildItem algoritmus azon módosításaival, amelyek javítják a teljesítményét, különösen a hálózati megosztások keresésekor.

Futtatók és megosztott gazdagépek támogatása

Windows PowerShell 3.0 támogatja a futtató fiókokat és a megosztott gazdagép funkcióit.

A Windows PowerShell munkafolyamathoz tervezett Futtatók funkció lehetővé teszi, hogy a munkamenet-konfiguráció felhasználói megosztott felhasználói fiók engedélyével futtatott munkameneteket hozzanak létre. Ez lehetővé teszi, hogy a kevésbé jogosultsággal rendelkező felhasználók rendszergazdai engedélyekkel futtatjanak bizonyos parancsokat és szkripteket, és kevesebb vezető felhasználót kell hozzáadniuk a Rendszergazdák csoporthoz.

A SharedHost funkció lehetővé teszi, hogy több számítógép több felhasználója egyidejűleg csatlakozzon egy munkafolyamat-munkamenethez, és figyelje a munkafolyamat előrehaladását. A felhasználók elindíthatnak egy munkafolyamatot az egyik számítógépen, majd csatlakozhatnak a munkafolyamat-munkamenethez egy másik számítógépen anélkül, hogy leválasztanák a munkamenetet az eredeti számítógépről. A felhasználóknak ugyanazokkal az engedélyekkel kell rendelkezniük, és ugyanazt a munkamenet-konfigurációt kell használniuk. További információ: "Windows PowerShell munkafolyamat futtatása" Első lépések Windows PowerShell-munkafolyamattal.

Speciális karakterkezelés fejlesztései

A Windows PowerShell 3.0 speciális karakterek értelmezésének és helyes kezelésének javítása érdekében a LiterálPath paraméter, amely az elérési utak speciális karaktereit kezeli, szinte minden olyan parancsmagra érvényes, amely rendelkezik Elérési út paraméterrel, beleértve az új Update-Help és Save-Help a parancsmagokat is. Az elemző speciális logikát is tartalmaz a backtick karakter (`) és a szögletes zárójelek fájlnevekben és elérési utakban való kezelésének javítására.

Lásd még: