PowerShell: Jak získat informace o místním času & výhody PowerShellu

Dnes jsem potřeboval vyřešit ve skriptu, jak zjistit systému aktuálně nastavenou časovou zónu. V PowerShellu ve Windows 10 je to snadné, ale co třeba Windows 7?

 

Windows 10, resp. novější PowerShell verze 5 a novější umí s pomocí commandletu
Get-TimeZone
získat informace o časové zóně, výstup může vypadat v českých systémech například takto:
Id : Central Europe Standard Time

DisplayName : (UTC+01:00) Praha, Bratislava, Budapešť, Bělehrad, Lublaň

StandardName : Střední Evropa (běžný čas)

DaylightName : Střední Evropa (letní čas)

BaseUtcOffset : 01:00:00

SupportsDaylig­htSavingTime : True
 

Drobný problém na této kráse je, že tento commandlet je součástí PowerShellu v systémech Windows 10 a Windows Server 2016. Co dělat, když potřebujete tuto informaci v systémech Windows 7 a Windows Server 2008?

Máte několik možností, například skrze registry, lze zjistit některé informace. Nebo s pomocí externí utilitky. No jo, ale to je celkem složité, nejde to jednodušeji? Ano, lze využít třídu .NET Framework Time­ZoneInfo a z ní vyčíst potřebné informace
[TimeZoneInfo]::Lo­cal
 

 

 

Výhody PowerShellu

Na tomto příkladu se mi strašně líbí, jak se vše díky .NET Frameworku na němž je PowerShell založen strašně zjednodušuje. Díky tomu máte několik možností, jak získat informace, nebo provést nějakou akci a nejste nuceni používat jiné technologie, nebo dokonce externí nástroje.

PowerShell dokonce umí spouštět přímo kód napsaný v C# (C Sharp).

 

 

Proto také existuje pro PowerShell takové množství rozšíření, protože PowerShell je vlastně otevřené řešení, jedná se vlastně o skriptovací prostředí s podporou „pluginů“, podobně jako pro Total Commander existují pluginy.

0 Responses to “PowerShell: Jak získat informace o místním času & výhody PowerShellu”


  • No Comments

Leave a Reply