Обновить
0
0

Сисадмин

Отправить сообщение

Angular забыли.

Успешно используем Powershell для для миграции кучи доменов (> 1000) вместе с пользователями и их профилями, группами, Exchange (как cross-forest move, так и дифф. синхронизация в PST, а затем импорт на Hosted), шарами, NTFS-правами, DFS, спец. софтом, использующим SQL-сервер, правками различных конфигов, созданием списков пользователей в xlsx и pdf и т.д. и т.п.
Поддерживаемые языки: Node.js, Java, C#, Go, Python

Что-то устарела у них документация.
11.09.2018 — Today we are excited to release support for PowerShell Core 6.0
Powershell:
$filteredLst = $lst | where y -gt 2
Есть скриптблоки — анонимные функции — аналог лямбда.
Их можно выполнить на месте, а можно передать как параметр функции.
Каринг тоже можно реализовать методом GetNewClosure():
function f ( $x ) {
{
param( $y )
$x + $y
}.GetNewClosure()
}
Set-Item function:GetPlus2 -Value (f 2)
GetPlus2 3


Читаемость получше чем в Python будет:
$list_b = $list_a | Where {$_ % 2 -eq 0 } | foreach { If ($_ -gt 0) {$_*$_} else {$_*$_*$_} }
Хотя с математикой родными средствами не очень, можно использовать .Net-класс Math.
Не пробовали Powershell использовать (Import-Csv, Export-Csv)?
Есть гибкие возможности по фильтрации.
6-я версия работает и на Linux.
Powershell — всё сразу нужного типа и коротко :)
$employee = [pscustomobject]@{
    Id    = [guid]::NewGuid()
    Name  = "Peter"
    Email = "peter@gmail.com"
    Phone = "8(800)555-35-35"
    HasAccessToSomething = $true
    HasAccessToSomethinElse = $false
}

> $employee.Name.GetType().ToString()
System.String
> $employee.Id.GetType().ToString()
System.Guid
> $employee.HasAccessToSomething.GetType().ToString()
System.Boolean

Информация

В рейтинге
Не участвует
Откуда
Bayern, Германия
Дата рождения
Зарегистрирован
Активность