Как стать автором
Обновить

Комментарии 16

Возьмём, к примеру, один из популярнейших продуктов Microsoft Exchange Server

Хорошее у вас «к примеру», Exchange — топовый продукт Microsoft в котором PoSH появился ещё до официального анонса :-)
Моя основная претензия к powershell, ещё в те времена, когда он меня волновал, состояла в том, что для того, чтобы стать экспертом в powershell, надо быть экспертом в .net. Либо ты всё это знаешь насквозь, либо так и остаёшься тварью гуглящей по каждому чиху.
ну не то что бы совсем экспертом, можно вполне не программировать под .NET, но успешно пользоваться PoSH. Хотя не отрицаю — знание .NET хорошо помогает, ибо по сути это скриптовый язык для .NET =)
Не обязательно быть сис админом для использования PS. Если хоть как то используете Azure, то без него просто никак.
Автору продолжать.
А где цикл Foreach-Oject? :-)
Он хоть и имеет алиас foreach, от одноименного цикла отличается тем, что принимает значения по конвейру, имеет расширенный синтаксис begin-process-end и отличается поведением break/continue.
Для JumpStart будет очень полезно, если вы расскажете в подробностях про Pipeline PoSH, ибо очень важная и большая часть.
И как это все интегрированно с .NET тоже полезно знать (но это уже не совсем фундаментальные основы).

Продолжайте, неплохие материалы в итоге получатся.
А почему в примере "$var = [char]0x263b" 0x263 больше чем 0xFF? Опечатка, или в PoSh char реально больше 8 бит?
Юникод-с. Подробнее здесь
Добрый день!
В боевом примере " узнать IP-адрес и MAC-адрес" не выдает ни того, ни другого: столбцы без значений. Только имя компьютера и описание сетевого адаптера.
И почему первая переменная использует функцию, остальные просто текстом?
@{Name=«IPAddress»;Expression={$_.IPAddress.get(0)}}, MACAddress, Description


PS благодарю за статьи! Стали волшебным пинком для старта изучения :)
Теперь работает.
Сперва, печатал сам, маленькими буквами. Подумал регистр имеет значение, скопипастил ваш код.
Не работает.
А после перезагрузки компьютера все встало на места :)
Спасибо!
И почему первая переменная использует функцию, остальные просто текстом?
@{Name=«IPAddress»;Expression={$_.IPAddress.get(0)}}, MACAddress, Description

Можно получить и просто свойство IPAddress, которое является массивом ip-адресов.
Если на сетевой плате включен протокол ipv6, то класс нам будет возвращать и его. Получим на выводе что-то вроде: {192.168.1.9, fe80::1542:4928:111d:d13a}
А так как нам вероятнее всего нужен будет только ipv4, мы поэтому и обращаемся к методу get и получаем первый элемент: $_.IPAddress.get(0)

@{Name=«IPAddress»;Expression={$_.IPAddress.get(0)}}

У нас идёт выборка Select и вот этой записью мы добавляем в неё свой столбец с названием IPAddress и в него для каждого элемента записываем результат выполнения метода get
Понял.
Исчерпывающе. Благодарю!

PS жду продолжение статей :)
Что-то не последовало продолжения, а жаль :)
да вот до сих пор в черновиках лежит… Вроде как и надо выложить, а вроде как уже на эту тему так много написано

Всё ещё ждём...

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Изменить настройки темы

Истории