Seriál Windows PowerShell – 3, 2, 1 … Novinky! (část 45.)

Dobrý den. Vítám vás u nového Flashe, nového článku a novinek ze světa PowerShellu. Dnes nás čeká trochu oddychový, ale o to příjemnější – alespoň pro mne – článek.

E+T v Praze

Prvním skvělým zážitkem uplynulého měsíce byla návštěva Eda Wilsona AKA Scripting Guy a jeho ženy Teresy v Praze. A to nejen z pohledu Edovy prezentace na téma Workflows a DSC (obě jsou již dostupné na MSTV.cz), ale i z pohledu osobního setkání a možnosti mít oba dva „pro sebe“ na celý týden. Z celého setkání vzešlo několik zajímavých podnětů a s některými vás již brzy seznámím.

Musím říci, že oba dva si pobyt zde užili a byli příjemně překvapeni reakcí lidí po Edově přednášce, množstvím dotazů a přátelskou atmosférou.

Aprílová MVP nominace

Vždy čtyřikrát za rok rozesílá Microsoft maily všem novým a „obnoveným“ MVP. Jedním z termínů je i první duben. Zatím si nikdo nedovolil o své případné nominaci žertovat a tak se stalo i letos. S napětím jsme letos čekali, jestli dojde k dalšímu průlomu pro ČR a povedlo se. S radostí musím oznámit, že Jakub Jareš se stal dalším českým PowerShell MVP. Jakub je velice aktivním „odpovídačem“ v PowerShell fórech a mimo jiné napsal i několik skvělých článků pro PowerShellMagazine. Na Twitteru jej můžete sledovat pod jeho nickem nohandle.

Dalším členem rodiny PowerShell MVP se stala také Teresa Wilson AKA Scripting Wife. Jsem velmi rád, že Teresy práce pro komunitu byla oceněna nejvyšším možným způsobem. Její organizační schopnosti pomohly již na mnoha konferencích a v mnoha PowerShell User Groups.

Novinky: WMF 5 Preview

Se zkrácením cyklu pouštění nových OS, se také zrychlil přísun novinek v PowerShellu. Jak určitě víte, PowerShell je součástí balíčku nazvaného Windows Management Framework. Tento Framework byl nyní uvolněn ve verzi 5 pro testování. Jedná se zatím jen o preview, ale alespoň je naznačen směr vývoje a možná největší novinka ostré páté verze.

Pokud si chcete WMF5 nainstalovat, je dostupný se stažení na http://www.microsoft.com/en-us/download/details.aspx?id=42316. V současné době je dostupný pro Windows 8.1 a Windows Server 2012 R2. Zatím rozhodně nedoporučuji instalovat WMF na produkční servery. Stejně jako v případě vydání WMF4 jsou oznámeny nekompatibility s některými nástroji. Pro jejich seznam se podívejte do sekce Systém Requirements na zmiňované stránce.

První novinkou je uvolnění cmdletů pro správu switchů. A teď nemyslím switche v PowerShellu, ale opravdové, fyzické síťové switche. Samozřejmě se musí jednat o switche, které budou certifikované. Na loňském MVP Summitu nám byla ukázána jedna z prvních verzí a jsem rád, že PowerShell se rozšiřuje tímto směrem. Seznam dostupných příkazů si můžeme vypsat standardním způsobem:

PS C:\Users\makovec> Get-Command -Module NetworkSwitch

CommandType Name                                      Source
----------- ----                                      ------
Function    Disable-NetworkSwitchEthernetPort         NetworkSwitch
Function    Disable-NetworkSwitchFeature              NetworkSwitch
Function    Disable-NetworkSwitchVlan                 NetworkSwitch
Function    Enable-NetworkSwitchEthernetPort          NetworkSwitch
Function    Enable-NetworkSwitchFeature               NetworkSwitch
Function    Enable-NetworkSwitchVlan                  NetworkSwitch
Function    Get-NetworkSwitchEthernetPort             NetworkSwitch
Function    Get-NetworkSwitchFeature                  NetworkSwitch
Function    Get-NetworkSwitchGlobalData               NetworkSwitch
Function    Get-NetworkSwitchVlan                     NetworkSwitch
Function    New-NetworkSwitchVlan                     NetworkSwitch
Function    Remove-NetworkSwitchEthernetPortIPAddress NetworkSwitch
Function    Remove-NetworkSwitchVlan                  NetworkSwitch
Function    Restore-NetworkSwitchConfiguration        NetworkSwitch
Function    Save-NetworkSwitchConfiguration           NetworkSwitch
Function    Set-NetworkSwitchEthernetPortIPAddress    NetworkSwitch
Function    Set-NetworkSwitchPortMode                 NetworkSwitch
Function    Set-NetworkSwitchPortProperty             NetworkSwitch
Function    Set-NetworkSwitchVlanProperty             NetworkSwitch

Druhou novinkou, dle mého pro administrátory zajímavější, je systém pro správu balíčků. Např. pro vývojáře se jedná o velice známý mechanismus. Pro jednoduchost si představte systém, kdy máte repository se softwarem a pomocí několika příkazů můžete tento software instalovat. Právě jsem si tento systém pojmenoval jako ConfigMgr pro příkazovou řádku Ale neberte mne tak úplně vážně.

Novinku Microsoft nazval OneGet. Pojďme si ji ukázat v praxi. OneGet je dodáván jako modul:

PS C:\Users\makovec> gcm -Module oneget

CommandType Name                 Source
----------- ----                 ------
Cmdlet      Add-PackageSource    oneget
Cmdlet      Find-Package         oneget
Cmdlet      Get-Package          oneget
Cmdlet      Get-PackageSource    oneget
Cmdlet      Install-Package      oneget
Cmdlet      Remove-PackageSource oneget
Cmdlet      Uninstall-Package    oneget

Pro správnou funkcionalitu je zapotřebí mít systém, kde jsou balíčky (konkrétní software) uloženy. OneGet používá systém Chocolatey. Seznam zdrojů lze rozšiřovat a v rámci organizace si například vytvořit vlastní zdroj, který bude např. jediný dostupný pro interní IT.

PS C:\Users\makovec> Get-PackageSource | ft -au

Name       Location                      Provider   IsTrusted
----       --------                      --------   ---------
chocolatey http://chocolatey.org/api/v2/ Chocolatey False

Všimněte si vlastnosti IsTrusted– zdroj je nastaven jako nedůvěryhodný. Toto můžete změnit. Pokud necháte nastavení jak je, při instalaci balíčku se objeví varování, které musíte pro instalaci potvrdit.

Dostupné balíčky zobrazíte pomocí Find-Package.

PS C:\Users\makovec> Find-Package

Name                  Version          Status    Source     Summary
----                  -------          ------    ------     -------
1password             1.0.9.340        Available chocolatey 1Password - Have you ever forgotte...
7zip                  9.22.01.20130618 Available chocolatey 7-Zip is a file archiver with a hi...
7zip.commandline      9.20.0.20130618  Available chocolatey 7-Zip is a file archiver with a hi...
7zip.install          9.22.01.20130618 Available chocolatey 7-Zip is a file archiver with a hi...
ack                   2.04             Available chocolatey ack is a tool like grep, designed ...
acr                   2.6.0            Available chocolatey
ActivePerl            5.14.2.2         Available chocolatey ActivePerl is the leading commerci...
ActiveTcl             8.5.14.002       Available chocolatey
ActySystemStyleRule   1.0.0            Available chocolatey
ad-awarefreeantivirus 11.1.5354.0      Available chocolatey
adblockpluschrome     0.0.0.2          Available chocolatey
adblockplusfirefox    0.0.0.1          Available chocolatey
adblockplusie         1.1              Available chocolatey
adblockplusopera      0.0.0.1          Available chocolatey
addtopath             1.0              Available chocolatey Adds a right click option on windo...
(zkráceno …)

PS C:\Users\makovec> (Find-Package | Measure).Count
1741
PS C:\Users\makovec> Find-Package | Out-GridView

Nyní je dostupných celkem 1741 balíčku (počet se mění každým dnem). Pro prozkoumání doporučuji přesměrovat seznam do Out-GridView. Z následujícího obrázku je vidět, že Tomáš by se mohl dočkat svého dalšího snu:

image

Po nalezení balíčku jej můžeme nainstalovat. Na každý server například instaluji 7-Zip:

PS C:\Users\makovec> Find-Package -Name 7zip

Name Version          Status
---- -------          ------
7zip 9.22.01.20130618 Available

PS C:\Users\makovec> Install-Package -Name 7zip

Installing Package '7zip' from untrusted source
WARNING: This package source is not marked as safe. Are you sure you want to install software from 'chocolatey'
[Y] Yes [N] No [S] Suspend [?] Help (default is "Y"):

Name         Version          Status    Source     Summary
----         -------          ------    ------     -------
7zip.install 9.22.01.20130618 Installed chocolatey 7-Zip is a file archiver with a hi...
7zip         9.22.01.20130618 Installed chocolatey 7-Zip is a file archiver with a hi...

Jak vidíte, musel jsem potvrdit, že chci instalovat 7Zip z nedůvěryhodného zdroje. Ihned po instalaci je 7-Zip dostupný a lze jej používat. Ve Start nabídce je vidět, že jsem instaloval nový software:

image

Osobně si myslím, že toto bude hlavní novinkou PowerShell v5. Vede mne k tomu ještě jeden důvod:

PS C:\Users\makovec> Get-DscResource

ImplementedAs Name
------------- ----
Binary        File
PowerShell    Archive
PowerShell    Environment
PowerShell    Group
Binary        Log
PowerShell    Package
PowerShell    Registry
PowerShell    Script
PowerShell    Service
PowerShell    User
PowerShell    WindowsFeature
PowerShell    WindowsProcess
PowerShell    xOneGet

Všimněte si poslední položky. Pokud jste byli na Edově přednášce o DSC, možná je vám to již jasné. Jelikož je OneGet uvolněn i jako zdroj do DSC, můžete jej v DSC použít. Představte si vytvoření počítače přes DSC a následnou instalaci softwaru přes OneGet. Jedná se o skvělou kombinaci J Zatím se jde pouze o experimentální verzi, ale opět vidíme světlou budoucnost.

//build/

Na právě skončené konferenci Build, bylo uvedeno několik dalších novinek. Pro mne osobně největšími novinkami jsou ty, spojené s Microsoft Azure. Vzhledem k novinám byla uvolněna i nová verze PowerShell modulu pro správu Azure. Ale o správě a novinkách v PowerShellu ve vztahu k Azure si povíme někdy příště.