Powershell уже имеет довольно чистый синтаксис, так что не так много нужно улучшать.
Одно новое дополнение, которое мне нравится, это Hash Table as objects
, где вы можете создавать объекты, передавая hastable со своими свойствами:
[<ClassName>]$Variable = @{<Property>=<Value>;<Property>=<Value>}
Итак, более новый, более лаконичный способ создания пользовательских объектов:
$obj = [PSCustomObject]@{a=1; b=2; c=3; d=4}
Перенаправление увеличено. Теперь у вас есть потоки для подробного, отладочного и предупреждающего сообщений в дополнение к обычным (конвейер) и ошибкам, и вы можете выполнять перенаправления, такие как 5>&1
Вы можете использовать переменную предпочтения $PSDefaultParameterValues
для установки значений параметров по умолчанию для командлетов.
Существует новый ускоритель [ordered]
для создания упорядоченной таблицы (словарь):
$a = [ordered]@{a=1;b=2;d=3;c=4}
Из другого ответа здесь, в SO, я понял, что -in
был новым в Powershell v3.0:
Итак, вы делаете что-то вроде 1 -in 1,2,3
. Ранее у нас было только -contains
командлеты:
Вы можете обновить справку с помощью Update-Help
командлета. Существуют командлеты, связанные с сетью, такие как Invoke-
WebRequest
. Вы также можете обрабатывать JSON с помощью командлетов ConverTo-JSON
и ConvertFrom-JSON
.