Стоит попробовать его в деле!
В основе уже .Net Core 3.0 Preview6, который очень хорош в быстродействии и особенно в управлении памятью: вы можете обнаружить, что теперь процесс PowerShell не раздувается в памяти во многих сценариях как ранее.
Помимо улучшений производительности полученных из Net Core 3.0 Preview6 в самом PowerShell Core добавлено несколько коммитов, которые также улучшают производительность.
Так Foreach-Object в некоторых случаях будет работать вдвое быстрее! Также можно сказать о WildcardPattern.IsMatch(). Последний используется в нескольких местах в движке, который также стал бастрее, например, при файловых операциях глоббинга. Там также есть ещё несколько улучшений производительности для файловых операций.
Из функциональных добавлений DBNull.Value
и NullString.Value
теперь работают точно также как $null
, что полезно при работе с базами данных.
-split оператор теперь понимает отрицательный параметр, чтобы выполнять разбиение строки от конца к началу. https://github.com/PowerShell/PowerShell/pull/8960
Для разработчиков теперь работает dotnet tool install —global PowerShell — вы получите версию 6.2.2 как глобальный инструмент. https://devblogs.microsoft.com/powershell/introducing-powershell-as-net-global-tool/
Теперь не нужно спецально замерять время выполнения команды в консоли: Get-History покажет вам поле Duration!
Get-History
Id Duration CommandLine
-- -------- -----------
1 6.153 [io.Directory]::GetFileSystemEntries
2 0.416 [io.Directory]::GetFileSystemEntries("./")
Командлет Set-Service имеет параметер SecurityDescriptorSddl для установки прав.
Теперь можно использовать зарезервированные имена для имен методов, функций и ресурсов.
Если вы часто использете COM на Windows, то оцените возможность увидеть сигнатуру метода. Ранее это работало только для обычных методов
$shell = New-Object -ComObject "Shell.Application"
$shell.AddToRecent
OverloadDefinitions
-------------------
void AddToRecent (Variant varFile, string bstrCategory)
В основной код вошли TempDrive
: и UseAbbreviationExpansion. Первое интуитивно понятно. Второе позволяет вещи вроде:
gcm -UseAbbreviationExpansion i-psdf
CommandType Name Version Source
----------- ---- ------- ------
Cmdlet Import-PowerShellDataFile 6.1.0.0 Microsoft.PowerShell.Utility
Остальное можно найти на сайте GitHub https://github.com/PowerShell/PowerShell/releases/tag/v7.0.0-preview.2
Filed under: Powershell, Unix, Windows | Tagged: Powershell, PowerShell Core, Unix, Windows |
Добавить комментарий