Powershell примеры использования. Интересные примеры на PowerShell. Создание временного файла

Конвертер длины и расстояния Конвертер массы Конвертер мер объема сыпучих продуктов и продуктов питания Конвертер площади Конвертер объема и единиц измерения в кулинарных рецептах Конвертер температуры Конвертер давления, механического напряжения, модуля Юнга Конвертер энергии и работы Конвертер мощности Конвертер силы Конвертер времени Конвертер линейной скорости Плоский угол Конвертер тепловой эффективности и топливной экономичности Конвертер чисел в различных системах счисления Конвертер единиц измерения количества информации Курсы валют Размеры женской одежды и обуви Размеры мужской одежды и обуви Конвертер угловой скорости и частоты вращения Конвертер ускорения Конвертер углового ускорения Конвертер плотности Конвертер удельного объема Конвертер момента инерции Конвертер момента силы Конвертер вращающего момента Конвертер удельной теплоты сгорания (по массе) Конвертер плотности энергии и удельной теплоты сгорания топлива (по объему) Конвертер разности температур Конвертер коэффициента теплового расширения Конвертер термического сопротивления Конвертер удельной теплопроводности Конвертер удельной теплоёмкости Конвертер энергетической экспозиции и мощности теплового излучения Конвертер плотности теплового потока Конвертер коэффициента теплоотдачи Конвертер объёмного расхода Конвертер массового расхода Конвертер молярного расхода Конвертер плотности потока массы Конвертер молярной концентрации Конвертер массовой концентрации в растворе Конвертер динамической (абсолютной) вязкости Конвертер кинематической вязкости Конвертер поверхностного натяжения Конвертер паропроницаемости Конвертер паропроницаемости и скорости переноса пара Конвертер уровня звука Конвертер чувствительности микрофонов Конвертер уровня звукового давления (SPL) Конвертер уровня звукового давления с возможностью выбора опорного давления Конвертер яркости Конвертер силы света Конвертер освещённости Конвертер разрешения в компьютерной графике Конвертер частоты и длины волны Оптическая сила в диоптриях и фокусное расстояние Оптическая сила в диоптриях и увеличение линзы (×) Конвертер электрического заряда Конвертер линейной плотности заряда Конвертер поверхностной плотности заряда Конвертер объемной плотности заряда Конвертер электрического тока Конвертер линейной плотности тока Конвертер поверхностной плотности тока Конвертер напряжённости электрического поля Конвертер электростатического потенциала и напряжения Конвертер электрического сопротивления Конвертер удельного электрического сопротивления Конвертер электрической проводимости Конвертер удельной электрической проводимости Электрическая емкость Конвертер индуктивности Конвертер Американского калибра проводов Уровни в dBm (дБм или дБмВт), dBV (дБВ), ваттах и др. единицах Конвертер магнитодвижущей силы Конвертер напряженности магнитного поля Конвертер магнитного потока Конвертер магнитной индукции Радиация. Конвертер мощности поглощенной дозы ионизирующего излучения Радиоактивность. Конвертер радиоактивного распада Радиация. Конвертер экспозиционной дозы Радиация. Конвертер поглощённой дозы Конвертер десятичных приставок Передача данных Конвертер единиц типографики и обработки изображений Конвертер единиц измерения объема лесоматериалов Вычисление молярной массы Периодическая система химических элементов Д. И. Менделеева

1 герц [Гц] = 1 циклов в секунду [циклов/с]

Исходная величина

Преобразованная величина

герц эксагерц петагерц терагерц гигагерц мегагерц килогерц гектогерц декагерц децигерц сантигерц миллигерц микрогерц наногерц пикогерц фемтогерц аттогерц циклов в секунду длина волны в эксаметрах длина волны в петаметрах длина волны в тераметрах длина волны в гигаметрах длина волны в мегаметрах длина волны в километрах длина волны в гектометрах длина волны в декаметрах длина волны в метрах длина волны в дециметрах длина волны в сантиметрах длина волны в миллиметрах длина волны в микрометрах Комптоновская длина волны электрона Комптоновская длина волны протона Комптоновская длина волны нейтрона оборотов в секунду оборотов в минуту оборотов в час оборотов в сутки

Подробнее о частоте и длине волны

Общие сведения

Частота

Частота - это величина, измеряющая как часто повторяется тот или иной периодический процесс. В физике с помощью частоты описывают свойства волновых процессов. Частота волны - количество полных циклов волнового процесса за единицу времени. Единица частоты в системе СИ - герц (Гц). Один герц равен одному колебанию в секунду.

Длина волны

Существует множество различных типов волн в природе, от вызванных ветром морских волн до электромагнитных волн. Свойства электромагнитных волн зависят от длины волны. Такие волны разделяют на несколько видов:

  • Гамма-лучи с длиной волны до 0,01 нанометра (нм).
  • Рентгеновские лучи с длиной волны - от 0,01 нм до 10 нм.
  • Волны ультрафиолетового диапазона , которые имеют длину от 10 до 380 нм. Человеческому глазу они не видимы.
  • Свет в видимой части спектра с длиной волны 380–700 нм.
  • Невидимое для людей инфракрасное излучение с длиной волны от 700 нм до 1 миллиметра.
  • За инфракрасными волнами следуют микроволновые , с длиной волны от 1 миллиметра до 1 метра.
  • Самые длинные - радиоволны . Их длина начинается с 1 метра.

Эта статья посвящена электромагнитному излучению, и особенно свету. В ней мы обсудим, как длина и частота волны влияют на свет, включая видимый спектр, ультрафиолетовое и инфракрасное излучение.

Электромагнитное излучение

Электромагнитное излучение - это энергия, свойства которой одновременно сходны со свойствами волн и частиц. Эта особенность называется корпускулярно-волновым дуализмом. Электромагнитные волны состоят из магнитной волны и перпендикулярной к ней электрической волны.

Энергия электромагнитного излучения - результат движения частиц, которые называются фотонами. Чем выше частота излучения, тем они более активны, и тем больше вреда они могут принести клеткам и тканям живых организмов. Это происходит потому, что чем выше частота излучения, тем больше они несут энергии. Большая энергия позволяет им изменить молекулярную структуру веществ, на которые они действуют. Именно поэтому ультрафиолетовое, рентгеновское и гамма излучение так вредно для животных и растений. Огромная часть этого излучения - в космосе. Оно присутствует и на Земле, несмотря на то, что озоновый слой атмосферы вокруг Земли блокирует большую его часть.

Электромагнитное излучение и атмосфера

Атмосфера земли пропускает только электромагнитное излучение с определенной частотой. Большая часть гамма-излучения, рентгеновских лучей, ультрафиолетового света, часть излучения в инфракрасном диапазоне и длинные радиоволны блокируются атмосферой Земли. Атмосфера поглощает их и не пропускает дальше. Часть электромагнитных волн, в частности, излучение в коротковолновом диапазоне, отражается от ионосферы. Все остальное излучение попадает на поверхность Земли. В верхних атмосферных слоях, то есть, дальше от поверхности Земли, больше радиации, чем в нижних слоях. Поэтому чем выше, тем опаснее для живых организмов находиться там без защитных костюмов.

Атмосфера пропускает на Землю небольшое количество ультрафиолетового света, и он приносит вред коже. Именно из-за ультрафиолетовых лучей люди обгорают на солнце и могут даже заболеть раком кожи. С другой стороны, некоторые лучи, пропускаемые атмосферой, приносят пользу. Например, инфракрасные лучи, которые попадают на поверхность Земли, используют в астрономии - инфракрасные телескопы следят за инфракрасными лучами, излучаемыми астрономическими объектами. Чем выше от поверхности Земли, тем больше инфракрасного излучения, поэтому телескопы часто устанавливают на вершинах гор и на других возвышенностях. Иногда их отправляют в космос, чтобы улучшить видимость инфракрасных лучей.

Взаимоотношение между частотой и длиной волны

Частота и длина волны обратно пропорциональны друг другу. Это значит, что по мере увеличения длины волны частота уменьшается и наоборот. Это легко представить: если частота колебаний волнового процесса высокая, то время между колебаниями намного короче, чем у волн, частота колебаний которых меньше. Если представить волну на графике, то расстояние между ее пиками будет тем меньше, чем больше колебаний она совершает на определенном отрезке времени.

Чтобы определить скорость распространения волны в среде, необходимо умножить частоту волны на ее длину. Электромагнитные волны в вакууме всегда распространяются с одинаковой скоростью. Эта скорость известна как скорость света. Она равна 299 792 458 метрам в секунду.

Свет

Видимый свет - электромагнитные волны с частотой и длиной, которые определяют его цвет.

Длина волны и цвет

Самая короткая длина волны видимого света - 380 нанометров. Это фиолетовый цвет, за ним следуют синий и голубой, затем зеленый, желтый, оранжевый и, наконец, красный. Белый свет состоит из всех цветов сразу, то есть, белые предметы отражают все цвета. Это можно увидеть с помощью призмы. Попадающий в нее свет преломляется и выстраивается в полосу цветов в той же последовательность, что в радуге. Эта последовательность - от цветов с самой короткой длиной волны, до самой длинной. Зависимость скорости распространения света в веществе от длины волны называется дисперсией.

Радуга образуется похожим способом. Капли воды, рассеянные в атмосфере после дождя, ведут себя так же как призма и преломляют каждую волну. Цвета радуги настолько важны, что во многих языках существуют мнемоника, то есть прием запоминания цветов радуги, настолько простой, что запомнить их могут даже дети. Многие дети, говорящие по-русски, знают, что «Каждый охотник желает знать, где сидит фазан». Некоторые люди придумывают свою мнемонику, и это - особенно полезное упражнение для детей, так как, придумав свой собственный метод запоминания цветов радуги, они быстрее их запомнят.

Свет, к которому человеческий глаз наиболее чувствителен - зеленый, с длиной волны в 555 нм в светлой среде и 505 нм в сумерках и темноте. Различать цвета могут далеко не все животные. У кошек, например, цветное зрение не развито. С другой стороны, некоторые животные видят цвета намного лучше, чем люди. Например, некоторые виды видят ультрафиолетовый и инфракрасный свет.

Отражение света

Цвет предмета определяется длиной волны света, отраженного с его поверхности. Белые предметы отражают все волны видимого спектра, в то время как черные - наоборот, поглощают все волны и ничего не отражают.

Один из естественных материалов с высоким коэффициентом дисперсии - алмаз. Правильно обработанные бриллианты отражают свет как от наружных, так и от внутренних граней, преломляя его, как и призма. При этом важно, чтобы большая часть этого света была отражена вверх, в сторону глаза, а не, например, вниз, внутрь оправы, где его не видно. Благодаря высокой дисперсии бриллианты очень красиво сияют на солнце и при искусственном освещении. Стекло, ограненное так же, как бриллиант, тоже сияет, но не настолько сильно. Это связано с тем, что, благодаря химическому составу, алмазы отражают свет намного лучше, чем стекло. Углы, используемые при огранке бриллиантов, имеет огромное значение, потому что слишком острые или слишком тупые углы либо не позволяют свету отражаться от внутренних стен, либо отражают свет в оправу, как показано на иллюстрации.

Спектроскопия

Для определения химического состава вещества иногда используют спектральный анализ или спектроскопию. Этот способ особенно хорош, если химический анализ вещества невозможно провести, работая с ним непосредственно, например, при определении химического состава звезд. Зная, какое электромагнитное излучение поглощает тело, можно определить, из чего оно состоит. Абсорбционная спектроскопия, являющаяся одним из разделов спектроскопии, определяет какое излучение поглощается телом. Такой анализ можно делать на расстоянии, поэтому его часто используют в астрономии, а также в работе с ядовитыми и опасными веществами.

Определение наличия электромагнитного излучения

Видимый свет, так же как и всё электромагнитное излучение - это энергия. Чем больше энергии излучается, тем легче эту радиацию измерить. Количество излученной энергии уменьшается по мере увеличения длины волны. Зрение возможно именно благодаря тому, что люди и животные распознают эту энергию и чувствуют разницу между излучением с разной длиной волны. Электромагнитное излучение разной длины ощущается глазом как разные цвета. По такому принципу работают не только глаза животных и людей, но и технологии, созданные людьми для обработки электромагнитного излучения.

Видимый свет

Люди и животные видят большой спектр электромагнитного излучения. Большинство людей и животных, например, реагируют на видимый свет , а некоторые животные - еще и на ультрафиолетовые и инфракрасные лучи. Способность различать цвета - не у всех животных - некоторые, видят только разницу между светлыми и темными поверхностями. Наш мозг определяет цвет так: фотоны электромагнитного излучения попадают в глаз на сетчатку и, проходя через нее, возбуждают колбочки, фоторецепторы глаза. В результате по нервной системе передается сигнал в мозг. Кроме колбочек, в глазах есть и другие фоторецепторы, палочки, но они не способны различать цвета. Их назначение - определять яркость и силу света.

В глазу обычно находится несколько видов колбочек. У людей - три типа, каждый из которых поглощает фотоны света в пределах определенных длин волны. При их поглощении происходит химическая реакция, в результате которой в мозг поступают нервные импульсы с информацией о длине волны. Эти сигналы обрабатывает зрительная зона коры головного мозга. Это - участок мозга, ответственный за восприятие звука. Каждый тип колбочек отвечает только за волны с определенной длиной, поэтому для получения полного представления о цвете, информацию, полученную от всех колбочек, складывают вместе.

У некоторых животных еще больше видов колбочек, чем у людей. Так, например, у некоторых видов рыб и птиц их от четырех до пяти типов. Интересно, что у самок некоторых животных больше типов колбочек, чем у самцов. У некоторых птиц, например у чаек, которые ловят добычу в воде или на ее поверхности, внутри колбочек есть желтые или красные капли масла, которые выступают в роли фильтра. Это помогает им видеть большее количество цветов. Подобным образом устроены глаза и у рептилий.

Инфракрасный свет

У змей, в отличие от людей, не только зрительные рецепторы, но и чувствительные органы, которые реагируют на инфракрасное излучение . Они поглощают энергию инфракрасный лучей, то есть реагируют на тепло. Некоторые устройства, например приборы ночного видения, также реагируют на тепло, выделяемое инфракрасным излучателем. Такие устройства используют военные, а также для обеспечения безопасности и охраны помещений и территории. Животные, которые видят инфракрасный свет, и устройства, которые могут его распознавать, видят не только предметы, которые находятся в их поле зрения на данный момент, но и следы предметов, животных, или людей, которые находились там до этого, если не прошло слишком много времени. Например, змеям видно, если грызуны копали в земле ямку, а полицейские, которые пользуются прибором ночного видения, видят, если в земле были недавно спрятаны следы преступления, например, деньги, наркотики, или что-то другое. Устройства для регистрации инфракрасного излучения используют в телескопах, а также для проверки контейнеров и камер на герметичность. С их помощью хорошо видно место утечки тепла. В медицине изображения в инфракрасном свете используют для диагностики. В истории искусства - чтобы определить, что изображено под верхним слоем краски. Устройства ночного видения используют для охраны помещений.

Ультрафиолетовый свет

Некоторые рыбы видят ультрафиолетовый свет . Их глаза содержат пигмент, чувствительный к ультрафиолетовым лучам. Кожа рыб содержит участки, отражающие ультрафиолетовый свет, невидимый для человека и других животных - что часто используется в животном мире для маркировки пола животных, а также в социальных целях. Некоторые птицы тоже видят ультрафиолетовый свет. Это умение особенно важно во время брачного периода, когда птицы ищут потенциальных партнеров. Поверхности некоторых растений также хорошо отражают ультрафиолетовый свет, и способность его видеть помогает в поиске пищи. Кроме рыб и птиц, ультрафиолетовый свет видят некоторые рептилии, например черепахи, ящерицы и зеленые игуаны (на иллюстрации).

Человеческий глаз, как и глаза животных, поглощает ультрафиолетовый свет, но не может его обработать. У людей он разрушает клетки глаза, особенно в роговице и хрусталике. Это, в свою очередь, вызывает различные заболевания и даже слепоту. Несмотря на то, что ультрафиолетовый свет вредит зрению, небольшое его количество необходимо людям и животным, чтобы вырабатывать витамин D. Ультрафиолетовое излучение, как и инфракрасное, используют во многих отраслях, например в медицине для дезинфекции, в астрономии для наблюдения за звездами и другими объектами и в химии для отверждения жидких веществ, а также для визуализации, то есть для создания диаграмм распространения веществ в определенном пространстве. С помощью ультрафиолетового света определяют поддельные банкноты и пропуска, если на них должны быть напечатаны знаки специальными чернилами, распознаваемыми с помощью ультрафиолетового света. В случае с подделкой документов ультрафиолетовая лампа не всегда помогает, так как преступники иногда используют настоящий документ и заменяют на нем фотографию или другую информацию, так что маркировка для ультрафиолетовых ламп остается. Существует также множество других применений для ультрафиолетового излучения.

Цветовая слепота

Из-за дефектов зрения некоторые люди не в состоянии различать цвета. Эта проблема называется цветовой слепотой или дальтонизмом, по имени человека, который первый описал эту особенность зрения. Иногда люди не видят только цвета с определенной длиной волны, а иногда они не различают цвета вообще. Часто причина - недостаточно развитые или поврежденные фоторецепторы, но в некоторых случаях проблема заключается в повреждениях на проводящем пути нервной системы, например в зрительной коре головного мозга, где обрабатывается информация о цвете. Во многих случаях это состояние создает людям и животным неудобства и проблемы, но иногда неумение различать цвета, наоборот - преимущество. Это подтверждается тем, что, несмотря на долгие годы эволюции, у многих животных цветное зрение не развито. Люди и животные, которые не различают цвета, могут, например, хорошо видеть камуфляж других животных.

Несмотря на преимущества цветовой слепоты, в обществе ее считают проблемой, и для людей с дальтонизмом закрыта дорога в некоторые профессии. Обычно они не могут получить полные права по управлению самолетом без ограничений. Во многих странах водительские права для этих людей тоже имеют ограничения, а в некоторых случаях они не могут получить права вообще. Поэтому они не всегда могут найти работу, на которой необходимо управлять автомобилем, самолетом, и другими транспортными средствами. Также им сложно найти работу, где умение определять и использовать цвета имеет большое значение. Например, им трудно стать дизайнерами, или работать в среде, где цвет используют, как сигнал (например, об опасности).

Проводятся работы по созданию более благоприятных условий для людей с цветовой слепотой. Например, существуют таблицы, в которых цвета соответствует знакам, и в некоторых странах эти знаки используют в учреждениях и общественных местах наряду с цветом. Некоторые дизайнеры не используют или ограничивают использование цвета для передачи важной информации в своих работах. Вместо цвета, или наряду с ним, они используют яркость, текст, и другие способы выделения информации, чтобы даже люди, не различающие цвета, могли полостью получить информацию, передаваемую дизайнером. В большинстве случаев люди с цветовой слепотой не различают красный и зеленый, поэтому дизайнеры иногда заменяют комбинацию «красный = опасность, зеленый = все нормально» на красный и синий цвета. Большинство операционных систем также позволяют настроить цвета так, чтобы людям с цветовой слепотой было все видно.

Цвет в машинном зрении

Машинное зрение в цвете - быстроразвивающаяся отрасль искусственного интеллекта. До недавнего времени большая часть работы в этой области проходила с монохромными изображениями, но сейчас все больше научных лабораторий работают с цветом. Некоторые алгоритмы для работы с монохромными изображениями применяют также и для обработки цветных изображений.

Применение

Машинное зрение используется в ряде отраслей, например для управления роботами, самоуправляемыми автомобилями, и беспилотными летательными аппаратами. Оно полезно в сфере обеспечения безопасности, например для опознания людей и предметов по фотографиям, для поиска по базам данных, для отслеживания движения предметов, в зависимости от их цвета и так далее. Определение местоположения движущихся объектов позволяет компьютеру определить направление взгляда человека или следить за движением машин, людей, рук, и других предметов.

Чтобы правильно опознать незнакомые предметы, важно знать об их форме и других свойствах, но информация о цвете не настолько важна. При работе со знакомыми предметами, цвет, наоборот, помогает быстрее их распознать. Работа с цветом также удобна потому, что информация о цвете может быть получена даже с изображений с низким разрешением. Для распознавания формы предмета, в отличие от цвета, требуется высокое разрешение. Работа с цветом вместо формы предмета позволяет уменьшить время обработки изображения, и использует меньше компьютерных ресурсов. Цвет помогает распознавать предметы одинаковой формы, а также может быть использован как сигнал или знак (например, красный цвет - сигнал опасности). При этом не нужно распознавать форму этого знака, или текст, на нем написанный. На веб-сайте YouTube можно увидеть множество интересных примеров использования цветного машинного зрения.

Обработка информации о цвете

Фотографии, которые обрабатывает компьютер, либо загружены пользователями, либо сняты встроенной камерой. Процесс цифровой фото- и видеосъемки освоен хорошо, но вот обработка этих изображений, особенно в цвете, связана с множеством трудностей, многие из которых еще не решены. Это связано с тем, что цветное зрение у людей и животных устроено очень сложно, и создать компьютерное зрение наподобие человеческого - непросто. Зрение, как и слух, основано на адаптации к окружающей среде. Восприятие звука зависит не только от частоты, звукового давления и продолжительности звука, но и от наличия или отсутствия в окружающей среде других звуков. Так и со зрением - восприятие цвета зависит не только от частоты и длины волны, но и от особенностей окружающей среды. Так, например, цвета окружающих предметов влияют на наше восприятие цвета.

С точки зрения эволюции такая адаптация необходима, чтобы помочь нам привыкнуть к окружающей среде и перестать обращать внимание на незначительные элементы, а направить все наше внимание на то, что меняется в окружающей обстановке. Это необходимо для того, чтобы легче замечать хищников и находить пищу. Иногда из-за этой адаптации происходят оптические иллюзии. Например, в зависимости от цвета окружающих предметов, мы воспринимаем цвет двух тел по-разному, даже когда они отражают свет с одинаковой длиной волны. На иллюстрации - пример такой оптической иллюзии. Коричневый квадрат в верхней части изображения (второй ряд, вторая колонка) выглядит светлее, чем коричневый квадрат в нижней части рисунка (пятый ряд, вторая колонка). На самом деле, их цвета одинаковы. Даже зная об этом, мы все равно воспринимаем их, как разные цвета. Поскольку наше восприятие цвета устроено так сложно, программистам трудно описать все эти нюансы в алгоритмах для машинного зрения. Несмотря на эти трудности, мы уже достигли многого в этой области.

Unit Converter articles were edited and illustrated by Анатолий Золотков

Вы затрудняетесь в переводе единицы измерения с одного языка на другой? Коллеги готовы вам помочь. Опубликуйте вопрос в TCTerms и в течение нескольких минут вы получите ответ.

Сименс (обозначение: См, S) единица измерения электрической проводимости в системе СИ, величина обратная ому. До Второй мировой войны (в СССР до 1960 х годов) сименсом называлась единица электрического сопротивления, соответсвующая сопротивлению … Википедия

У этого термина существуют и другие значения, см. Беккерель. Беккерель (обозначение: Бк, Bq) единица измерения активности радиоактивного источника в Международной системе единиц (СИ). Один беккерель определяется как активность источника, в… … Википедия

Кандела (обозначение: кд, cd) одна из семи основных единиц измерения системы СИ, равна силе света, испускаемого в заданном направлении источником монохроматического излучения частотой 540·1012 герц, энергетическая сила света которого в этом… … Википедия

Зиверт (обозначение: Зв, Sv) единица измерения эффективной и эквивалентной доз ионизирующего излучения в Международной системе единиц (СИ), используется с 1979 г. 1 зиверт это количество энергии, поглощённое килограммом… … Википедия

У этого термина существуют и другие значения, см. Ньютон. Ньютон (обозначение: Н) единица измерения силы в Международной системе единиц (СИ). Принятое международное название newton (обозначение: N). Ньютон производная единица. Исходя из второго… … Википедия

У этого термина существуют и другие значения, см. Сименс. Сименс (русское обозначение: См; международное обозначение: S) единица измерения электрической проводимости в Международной системе единиц (СИ), величина обратная ому. Через другие… … Википедия

У этого термина существуют и другие значения, см. Паскаль (значения). Паскаль (обозначение: Па, международное: Pa) единица измерения давления (механического напряжения) в Международной системе единиц (СИ). Паскаль равен давлению… … Википедия

У этого термина существуют и другие значения, см. Тесла. Тесла (русское обозначение: Тл; международное обозначение: T) единица измерения индукции магнитного поля в Международной системе единиц (СИ), численно равная индукции такого… … Википедия

У этого термина существуют и другие значения, см. Грей. Грей (обозначение: Гр, Gy) единица измерения поглощённой дозы ионизирующего излучения в Международной системе единиц (СИ). Поглощённая доза равна одному грею, если в результате… … Википедия

У этого термина существуют и другие значения, см. Вебер. Вебер (обозначение: Вб, Wb) единица измерения магнитного потока в системе СИ. По определению, изменение магнитного потока через замкнутый контур со скоростью один вебер в секунду наводит в… … Википедия

В админиcтрировании всегда есть место творчеству. Хочешь сделать какую-нибудь автоматизацию рутинной задачи? Пожалуйста! Нужно что-то регулярно проверять на активность? Не вопрос! Хочешь обработать какой-нибудь гигантский отчет и вывести только актуальные данные? Тоже можно. Все эти и многие другие задачи лучше всего решать при помощи скриптов, и язык PowerShell в случае с Windows - оптимальный выбор.

Что такое PowerShell и чем он хорош

Пользователи UNIX и Linux, а с какого-то мoмента и macOS привыкли к тому, что под рукой всегда есть Bash - немного старомодное, но универсальное и мощное средство, при помощи которого всего парой строк можно творить удивительные вещи. Прописываешь новый скрипт в cron - и готово, он уже крутится на твоем компьютере или на сервере и незаметно делает что-нибудь полезное.

Возвращаясь в Windows (а без этого иногда никак), понимаешь, что скрипты.bat хоть и хороши, но спасают не всегда: очень уж ограниченны их возможности. И если ты до сих пор считал, что PowerShell - это неведомая штуковина, ради которой нужно что-то там поднимaть и настраивать, то не спеши с выводами - он, если разобраться, совсем неплох.

Windows PowerShell - это расширяемое средство автоматизации с открытыми исходниками, которое состоит из оболочки (командной строки) и скриптового языка. Впервые он был показан в 2003 году (тогда он назывался Monad). PowerShell 2.0 вышел в составе Windows 7 и Windows Server 2008 R2 и с тех пор присутствует в Windows в качестве стандартного компонента. Его даже включили в Windows XP SP3. PowerShell построен на основе.NET Framework и интегрирован с ним. PowerShell может обращаться к COM, WMI и ADSI, а также, конечно же, исполняет консольные команды.

В общем, «пошик» имеет крепкие связи с продуктами Microsoft, будь то Active Directory или почтовый сервер Exchange. Это позволяет без подключения к оснастке сервера обращаться к ним через консоль и отдaвать команды.

Если раньше ты не интересовался PowerShell, то, скорее всего, у тебя стоит вторая версия. Я рекомендую обновиться как минимум до третьей - она содержит куда больше возможностей и полезных фишек. Если не вдаваться в подробности, то в PowerShell 2.0 входит около десятка модулей и примерно 350 команд, а в PowerShell 3.0 уже около 2300 командлетов из более чем 70 модулей. «Хакер» также писал о том, чем отличается самый новый PowerShell пятой версии из Windows 10.

Выбираем среду разработки и инструменты

Теперь давай разберемся, где удобнее всего писать код. Можно, конечно, и в «Блокноте», Notepad++ или Sublime. Но это в данном случае не самый грамотный выбор редактора. Лучше всего начинать знакомство с PowerShell, вооружившись идущим в комплекте .


Это даже не редактор, а практически полноценная среда разработки. Здесь есть функция IntelliSense, которая позволяет просматривать перечень командлетов и их параметров, переменных, утилит и прочего. Поддерживаются сниппеты, есть возможность расширения нaбора функций за счет различных аддонов. Очень полезно и окно Commands. В нем можно составлять команды в визуальном режиме: выбираешь модуль, находишь нужный командлет и задаешь ему необходимые параметры. Получившуюся команду можно скопировать в консоль или сразу запустить на выполнение. В общем, этакий конструктор для админа. Ну и конечно, есть подсветка синтаксиса, дебаггер и многое другое.

Тем не менее у PowerShell ISE есть и достойные конкуренты. Один из них - .

PowerGUI - это визуальное дополнение к PowerShell. Оно упрощает сборку собственных сценариев до выбора необходимых командлетов. Берешь то, что нужно для решения задачи, и перетаскиваешь части кода, пока не получишь скрипт. Одна из главных фишек PowerGUI - это Power Packs, готовые скрипты, опубликованные сообществом пользователей и выложенные в свобoдный доступ. Тут есть и простенькие команды вроде добавления пoльзователей, и сложные - к примеру, управление свитчами и виртуальными машинaми. Все их легко дополнять и модифицировать в соответствии с нуждами.


Фирмы Sapien - бoлее продвинутая среда, которая рассчитана на совместную разработку одного проекта большим количеством участников. Если ты когда-нибудь имел дело с Visual Studio, то, думаю, заметишь сходство. Среди полезных фишек PowerShell Studio - панель Ribbon, поддержка удаленной отладки, а также функции компилятора, которые позволяют включить скрипты в исполняемые файлы. Есть поддержка разных версий PowerShell.


Стоит упомянуть и Script Browser для Windows PowerShell ISE. Это не среда разработки, но вeсьма интересный инструмент, разработанный в Microsoft. Script Browser открывает доступ к базе готовых скриптов, которые можно использовать в качестве образцов для написания своего кода. А еще эта штука умеет анализировать код, который ты пишешь, и подсказывает, как его улучшить.


Несколько полезных трюков

Разобравшись с редактором, можно приступать к написанию кода. PowerShell - несложный язык, и, я думаю, ты быстро разберешься, что к чему. Команды здесь называются командлетами, и каждый из них состоит из двух частей. Сначала идeт действие, например Get, Set, Add, Invoke, Remove. Затем указывается то, на что действие направлено: Service, VM, AzureAccount, DHCPServerSetting. Каждая часть отделяется от другой дефисом. Получается, к примеру, get-process. Это, кстати, полезная команда, которая выводит список процессов. Скажем, если написать

get - process BadTh *

увидим что-то такое:

Handles NPM (K ) PM (K ) WS (K ) VM (M ) CPU (s ) Id ProcessName

------------------------

28 4 - 210844 - 201128 - 163 25.67 2792 BadThread

Теперь можно завершить зависший процесс:

Можно проcмотреть рекурсивно, правда уже чуть с более сложной логикой:

Можно также выполнить

Кстати, к каждому полю в окошке опции учетной записи или компьютера можно обратиться и считать данные. Таким образом можно делать целые срезы. Вот, к примеру, запрос на основе данных о телефонных номерах:

Get - AdUser - Filter * - Properties OfficePhone | FT OfficePhone , UserPrincipalName

PowerShell в сравнении с bat

Иногда задачу можно решить как старым дедовским методом, так и при помощи PowerShell. Я рекомендую не лениться и использовать PS, хотя бы просто потому, что так ты его быстрее изучишь и сможешь применять в более сложных ситуациях. К тому же ты постепeнно оценишь его синтаксис - более элегантный и консистентный. Вот несколько примеров, как вещи делались раньше и как их можно сделать при помощи PowerShell.

Следующая командная строка перезагрузит компьютер с задержкой в десять секунд:

Вот так через bat можно перезагрузить службу dnscache (или любую другую):

sc stop dnscache

sc start dnscache

Наш обзор посвящен использованию ключевых возможностей Windows PowerShell для выполнения различных административных задач. Сначала рассмотрим встроенные средства ознакомления с возможностями Windows PowerShell.

Знакомство с возможностями Windows PowerShell

Итак, вы - администратор, которому необходимо в кратчайший срок освоить Windows PowerShell. Первое, что вы, вероятно, предпримете (естественно, помимо обращения к документации и справочной системе), - воспользуетесь командой Help (рис. 1).

Внимательно изучив выведенную на экран информацию, мы придем к пониманию следующих концептуальных вещей: в Windows PowerShell существуют алиасы, командлеты, провайдеры, а также справочные файлы. Алиасы (alias) служат для упрощения ввода команд (например, clc - это алиас команды Clear-Content ), командлеты (cmdlet) представляют собой реализацию всех встроенных в Windows PowerShell команд, провайдеры (provider) обеспечивают доступ к файловой системе, реестру, хранилищу сертификатов и т.п., а справочные файлы (helpfile) используются для получения дополнительной информации. Для получения подробного описания команды применяется следующий синтаксис:

PS C:> Help Get-Command

В результате выполнения этой команды мы получим полное описание команды Get-Command , включая ее назначение, синтаксис, опции и т.п. (рис. 2).

Для получения списка всех встроенных команд используем следующий синтаксис:

PS C:> Get-Command

Обратите внимание на то, что все команды состоят из глагола и прилагательного (например, Get-Content , Export-Console ) и все команды поддерживают единую систему именования - например для завершения чего-либо всегда используется глагол Stop, а не Kill, Terminate, Halt или другие синонимы, что существенно упрощает изучение возможностей PowerShell (рис. 3).

Команда Get-Service служит для получения списка всех сервисов, запущенных на данном компьютере. Например,

PS C:> Get-Service

возвращает список, представленный на рис. 4.

Для получения списка процессов, запущенных в настоящий момент на компьютере, применяется команда Get-Process (рис. 5):

PS C:> Get-Process

В Windows PowerShell поддерживается автоматическое завершение ввода. Чтобы убедиться в этом, введите Get-P и нажмите клавишу TAB: вы получите возможность выбора всех команд, начинающихся с введенных символов.

Для получения информации только об одном процессе в качестве аргумента команды Get-Process задается имя этого процесса (рис. 6):

PS C:> Get-Process explorer

Для того чтобы получить список всех процессов, названия которых начинаются с определенного символа, достаточно указать этот символ и «*» (рис. 7):

PS C:> Get-Process i*

Обратите внимание на колонки, в которых содержится информация, - Handles, NMP(K) и т.п. По умолчанию информация выводится в виде таблицы, но на самом деле все команды возвращают объекты. Эти объекты могут быть переданы на вход другим командам с помощью символа «|» (рис. 8):

PS C:> Get-Process i* | format-list

Теперь список процессов доступен в другом представлении. Для получения подробной информации о различных форматах можно использовать следующую команду:

PS C:> Help format *

Другие возможные форматы:

PS C:> Get-Process i* | format-wide

PS C:> Get-Process i* | format-custom

Поскольку на выходе всегда получается объект, можно манипулировать им для выполнения дополнительных операций, например фильтрации:

PS C:> Get-Process | where {$_.handlecount -gt 400}

или сортировки:

PS C:> Get-Process | where {$_.handlecount -gt 400} | sort-object Handles

Может возникнуть вполне резонный вопрос: а откуда мы узнали, что у объекта, описывающего процесс, есть свойство handlecount ? Для получения списка всех свойств объекта применяется следующая команда (рис. 9):

PS C:> Get-Process | Get-Member

Выполним команду Get-Process | Get-Member Company - при форматировании по умолчанию невозможно получить желаемые данные. Преобразуем полученную команду в:

PS C:> Get-Process | Get-Member Company | Format-List

Результат ее преобразования представлен на рис. 10.

PS C:> Get-Process | sort-object Company | format-table -Group Company name, description, handles

Результат выполнения данной команды представлен на рис. 11.

Команда stop-process позволяет остановить запущенный процесс, например:

PS C:> Get-process notepad | stop-process

Такая возможность не всегда является безопасной, поэтому лучше использовать подобные команды с опцией whatif , которая показывает, что произойдет при выполнении той или иной команды, но на самом деле команда не выполняется:

PS C:> Get-Process notepad | stop-process –whatif

Кроме того, можно указывать на необходимость подтверждения перед выполнением команды:

PS C:> Get-Process notepad | stop-process –confirm

Результат выполнения команды с подтверждением представлен на рис. 12.

В последнем примере мы получаем описание действий, которые выполняет команда, и можем выбрать, подтверждать ее выполнение или нет.

Помимо этого можно создавать собственные пакетные файлы, представляющие собой файлы с расширением *.ps1, в которые помещаются команды PowerShell, и выполнять их. Для соблюдения безопасности пакетные файлы должны быть подписаны. При тестировании можно отключить требование по запуску только подписанных файлов:

PS C:> Set-ExecutionPolicy Unrestricted

но после окончания тестирования не забудьте снова включить данную опцию с помощью следующей команды:

PS C:> Set-ExecutionPolicy AllSigned

После знакомства с основами Windows PowerShell посмотрим, как с помощью данной утилиты можно решать различные административные задачи.

Работа с файловой системой

Одна из задач, с которой часто сталкиваются многие ИT-специалисты, связана с манипуляциями с файлами, такими как копирование, перемещение, переименование, удаление файлов и каталогов. На рис. 13 показаны основные команды Windows PowerShell, применяемые для манипуляций с файловой системой: new-item , copy-item , move-item , rename-item и remove-item .

В отличие от других оболочек, в которых существует и набор команд для файлов (например, delete или rename), и набор для каталогов (например, rd или md), в Windows PowerShell единый набор команд используется для манипуляций как с файлами, так и с каталогами.

Первая команда в нашем примере - new-item TextFiles –itemtype directory - применяется для создания нового подкаталога TextFiles в текущем каталоге. Если опустить параметр –itemtype , то Windows PowerShell спросит, что мы создаем - файл (file) или каталог (directory). Отметим, что у команды new-item есть алиас - ni. В сокращенном виде наша первая команда будет выглядеть так:

PS C:> ni TextFiles –itemtype directory

Затем мы используем команду copy-item (алиасы - cpi, cp, copy ) для копирования всех файлов с расширением *.txt в подкаталог TextFiles. Если применять данную команду в пакетном файле, имеет смысл сделать ее более понятной, указав параметры –path (источник) и –destination (приемник):

PS C:>copy-item –path ‘.\*.txt’ –destination ‘.\TextFiles’

После выполнения команды копирования мы используем команду set-location для перехода в подкаталог TextFiles. С помощью команды rename-item переименовываем файл psdemo.txt в psdemo.bak. При необходимости можно применять опции –path и –newName . После того как файл переименован, переносим его на один уровень вверх, используя команду move-item . Затем применяем команду set-location , а точнее - ее алиас sl для перехода в другой каталог. Манипуляции с файловой системой мы завершаем удалением всего каталога TextFiles, используя команду remove-item . Поскольку в каталоге TextFiles содержатся файлы, применяется опция –recurse . Если эта опция не указана, Windows PowerShell запросит подтверждение перед выполнением команды remove-item .

Работа с реестром

При выполнении различных настроек и попытках обнаружения каких-либо параметров нам иногда приходится обращаться к системному реестру в поисках ключей, значений и т.п. С использованием возможностей Windows PowerShell эта задача может быть решена достаточно простым способом. Возможности Windows PowerShell показаны на рис. 14.

Наша первая команда использует алиасsl для выполнения команды set-location , изменяющей наше текущее местоположение с файловой системы на ветвь HKEY_CURRENT_USER в системном реестре:

PS C:\> sl hkcu:

Отметим, что, как и в случае работы с файловой системой, PowerShell применяет специальный провайдер для доступа к реестру.

Аналогами приведенной выше команды являются команды:

PS C:\> sl registry:hkcu

PS C:\> sl hkey_current_user

Следующая команда загружает содержимое всей ветви реестра HKEY_CURRENT_USER в переменную reg:

PS HKCU:\> $reg = gci . –rec –ea silentlycontinue

Для этого мы используем команду get-childitem (алиас - gci ), принцип работы которой аналогичен работе с файловой системой. Первый аргумент этой команды - «.» - указывает на то, что мы хотим получить содержимое текущей ветви реестра - HKEY_CURRENT_USER. Второй аргумент является сокращением от опции –recurse и указывает на то, что нам нужен рекурсивный сбор данных из всех подветвей текущей ветви реестра. И наконец, третий аргумент - –ea silentlycontinue - указывает на то, что команда должна продолжать выполняться даже в случае возникновения ошибок, связанных с недостатком прав доступа к определенным подветвям реестра.

Следующая команда в нашем примере:

PS HKCU:\>$s = $reg | % {if (gp $_.pspath) –match ‘PowerShell’){$_.pspath}}

копирует из реестра данные, содержащие строку ‘PowerShell’ . Мы начинаем с того, что берем объект reg и перенаправляем его в команду % , которая является алиасом команды for-each . Она выполняет рекурсивный обход всех элементов реестра, находящихся в объекте reg и на каждом шаге сохраняет элемент в специальном объекте PowerShell с именем ‘_’ . В фигурных скобках мы указываем действия, которые должны выполняться на каждом шаге выполнения команды for-each . Внутри блока for-each мы используем проверку if для того, чтобы узнать, соответствуют ли текущая запись реестра и ее свойство pspath, которые мы получаем через обращение к команде get-itemproperty (через алиас gp ), нашему критерию - наличию строки ‘PowerShell’ . Если соответствие найдено, мы возвращаем значение свойства pspath . Все найденные соответствия сохраняются в объекте s .

Работу с реестром мы завершаем перенаправлением результатов поиска в команду select-object (через алиас select ) и показываем два первых найденных результата. В качестве упражнения вы можете перенаправить финальные результаты в файл с помощью команды out-file .

Доступ к процессам

Еще одна задача, с которой могут столкнуться ИТ-специалисты, связана с обнаружением аномалий в работе системы, например процессов, которые потребляют большие объемы памяти. Давайте посмотрим, как эта задача решается средствами Windows PowerShell (рис. 15).

В первой команде мы сохраняем информацию о всех процессах, запущенных на данном компьютере, в переменной $allprocs :

PS C:\> $allprocs = get-process

После этого мы перенаправляем полученную информацию команде for-each , которая тоже может быть указана алиасом % или foreach . Данная команда перебирает все объекты, связанные с процессом, и на каждом шаге сохраняет информацию во внутреннем объекте $_ . Этот объект можно условно назвать текущим объектом. В качестве параметров для команды for-each мы указываем операцию сравнения значения свойства virtualmemorysize с интересующим нас размером памяти (20 Мбайт в нашем примере). Если значение этого свойства для текущего объекта больше заданного, мы выводим название процесса на экран. Отметим, что в PowerShell поддерживаются основные сокращения для указания размеров - KB, MB, GB, что очень полезно, поскольку не нужно считать нули при указании объемов памяти, дисков и т.п.

Доступ к системному журналу

При попытке обнаружения причин сбоев мы часто обращаемся к системному журналу, в котором хранится множество полезной информации о событиях, происходивших в системе. Обычно для исследования системного журнала применяется утилита Event Viewer (eventvwr.exe). В PowerShell мы можем воспользоваться встроенными командами, например командой get-eventlog , для быстрого исследования содержимого системного журнала (рис. 16).

Наша первая команда загружает ключевую информацию из системного журнала:

PS C:\> get-eventlog –list

Без использования опции –list PowerShell запросит точное указание названия системного журнала. В нашем примере мы видим несколько точек входа в системном журнале: Application, Internet Explorer, System, Windows Power Shell и т.п. Наша следующая команда извлекает записи из системного журнала, которые имеют тип “Error” :

PS C:\> $bad = get-eventlog “System” | where-object { $_.EntryType –eq “Error” }

Мы используем команду get-eventlog , которой указываем параметр “System” для извлечения только системных записей, - мы могли бы более четко задать это, применив параметр logName . Содержимое переменной $bad передается на вход команде where-object для фильтрации только интересующих нас записей. В качестве аргументов команды where-object мы указываем на то, что ищем только записи, у которых свойство EntryType равно “Error” .

Мы завершаем исследование системного журнала выводом на экран пяти последних записей об ошибках, используя для этого команду select-object с параметром –last :

PS C:\> $bad | select-object –last 5

Доступ к WMI

Как мы знаем, Windows Management Instrumentation (WMI) - это реализация компанией Microsoft стандарта Common Information Model (CMI). В большинстве случаев WMI применяется ИT-специалистами для получения информации об аппаратном и программном обеспечении, установленном на данном компьютере. Как мы увидим в следующем примере, использование Windows PowerShell существенно облегчает доступ к информации, хранимой в WMI (рис. 17).

В первой строке мы применяем команду get-wmiobject для получения информации о файле, используемом для свопинга памяти на диск и сохранения этой информации в переменной $pfu :

PS C:\> $pfu = get-wmiobject – class ‘win32_pageFileUsage’

PS C:\> $pfu | get-member –membertype property | where_object { $_.name –nomatch ‘_’ }

Обычно для нахождения информации по определенному классу можно использовать команду get-member без указания параметров, но в нашем примере нас интересуют только доступные свойства и только те из них, которые не содержат в имени символ подчеркивания. У внимательного читателя может возникнуть вопрос: каким образом мы узнали о существовании класса win32_pageFileUsage ? Ведь известно, что в WMI поддерживается более тысячи классов, помимо этого ряд приложений добавляет свои классы. Вы можете применить команду:

PS C:\> get-wmiobject –list

для получения списка всех существующих в системе классов. После того как мы определили доступные нам свойства класса, мы выводим содержимое интересующих нас свойств на экран:

PS C:\> $pfu.caption; $pfu.currentusage

Вторая часть нашего примера посвящена другому классу - win32_DiskDrive , в котором хранится информация о дисках, установленных в системе. Этот класс - пример WMI-класса, содержащего более одного объекта. В нашем примере мы определяем значение свойства caption первого диска, установленного в системе:

PS C:\> $dd.caption

Использование XML-файлов

В последнее время XML-файлы все чаще используются для хранения конфигурационной информации. По мере того как данные в XML-файле накапливаются, он становится все менее удобным для прочтения. Далее мы рассмотрим, как применять функции Windows PowerShell для работы с XML-файлами.

Для примера возьмем конфигурационный файл Windows Calendar, который выглядит так (рис. 18):

и выполним над ним манипуляции, представленные на рис. 19.

В первой строке мы загружаем содержимое всего XML-файла в переменную, используя команду get-content :

PS C:\> $doc = get-content ‘.\settings.xml’

Обратим внимание на применение типа данных : если не указать использование данных этого типа, в переменную будет загружен просто текст.

Во второй строке мы выбираем определенную ветвь XML-файла - для этого применяется метод selectnodes объекта, хранящего XML-данные и XPath-описание адреса ветви:

PS C:\> $settings = $doc.selectnode(‘CalendarSettings/X-Root/VCalendar’)

После этого мы используем команду foreach-object для получения значения свойства Name для всех элементов в данной ветви.

Заключение

Мы рассмотрели основные возможности Windows PowerShell для упрощения задач, возникающих перед ИT-специалистами. Как мы знаем, эти задачи часто решаются с помощью скриптового языка VBScript. В Windows PowerShell есть возможность применения существующего кода на VBScript, а следовательно, миграция значительно упрощена (рис. 20).

В приведенном выше примере показано, как можно использовать существующий код на VBScript в PowerShell. В первой строке мы создаем новый COM-объект, который представляет собой ядро выполнения скриптовых программ - ScriptControl. Затем мы указываем, что будем использовать язык Visual Basic Script. В третьей строке задается собственно код на VBScript - в нашем примере это вызов функции MsgBox, но на практике в переменную можно, например, загрузить код файла. И наконец, в последней строке мы добавляем код на VBScript в наш объект - и код поступает на выполнение.

В администрировании всегда есть место творчеству. Хочешь сделать какую-нибудь автоматизацию рутинной задачи? Пожалуйста! Нужно что-то регулярно проверять на активность? Не вопрос! Хочешь обработать какой-нибудь гигантский отчет и вывести только актуальные данные? Тоже можно. Все эти и многие другие задачи лучше всего решать при помощи скриптов, и язык PowerShell в случае с Windows - оптимальный выбор.

Что такое PowerShell и чем он хорош

Пользователи UNIX и Linux, а с какого-то момента и macOS привыкли к тому, что под рукой всегда есть Bash - немного старомодное, но универсальное и мощное средство, при помощи которого всего парой строк можно творить удивительные вещи. Прописываешь новый скрипт в cron - и готово, он уже крутится на твоем компьютере или на сервере и незаметно делает что-нибудь полезное.

Возвращаясь в Windows (а без этого иногда никак), понимаешь, что скрипты.bat хоть и хороши, но спасают не всегда: очень уж ограниченны их возможности. И если ты до сих пор считал, что PowerShell - это неведомая штуковина, ради которой нужно что-то там поднимать и настраивать, то не спеши с выводами - он, если разобраться, совсем неплох.

Windows PowerShell - это расширяемое средство автоматизации с открытыми исходниками, которое состоит из оболочки (командной строки) и скриптового языка. Впервые он был показан в 2003 году (тогда он назывался Monad). PowerShell 2.0 вышел в составе Windows 7 и Windows Server 2008 R2 и с тех пор присутствует в Windows в качестве стандартного компонента. Его даже включили в Windows XP SP3. PowerShell построен на основе.NET Framework и интегрирован с ним. PowerShell может обращаться к COM, WMI и ADSI, а также, конечно же, исполняет консольные команды.

В общем, «пошик» имеет крепкие связи с продуктами Microsoft, будь то Active Directory или почтовый сервер Exchange. Это позволяет без подключения к оснастке сервера обращаться к ним через консоль и отдавать команды.

Если раньше ты не интересовался PowerShell, то, скорее всего, у тебя стоит вторая версия. Я рекомендую обновиться как минимум до третьей - она содержит куда больше возможностей и полезных фишек. Если не вдаваться в подробности, то в PowerShell 2.0 входит около десятка модулей и примерно 350 команд, а в PowerShell 3.0 уже около 2300 командлетов из более чем 70 модулей. «Хакер» также писал о том, чем отличается самый новый из Windows 10.

Выбираем среду разработки и инструменты

Теперь давай разберемся, где удобнее всего писать код. Можно, конечно, и в «Блокноте», Notepad++ или Sublime. Но это в данном случае не самый грамотный выбор редактора. Лучше всего начинать знакомство с PowerShell, вооружившись идущим в комплекте .

Это даже не редактор, а практически полноценная среда разработки. Здесь есть функция IntelliSense, которая позволяет просматривать перечень командлетов и их параметров, переменных, утилит и прочего. Поддерживаются сниппеты, есть возможность расширения набора функций за счет различных аддонов. Очень полезно и окно Commands. В нем можно составлять команды в визуальном режиме: выбираешь модуль, находишь нужный командлет и задаешь ему необходимые параметры. Получившуюся команду можно скопировать в консоль или сразу запустить на выполнение. В общем, этакий конструктор для админа. Ну и конечно, есть подсветка синтаксиса, дебаггер и многое другое.

Тем не менее у PowerShell ISE есть и достойные конкуренты. Один из них - .

PowerGUI - это визуальное дополнение к PowerShell. Оно упрощает сборку собственных сценариев до выбора необходимых командлетов. Берешь то, что нужно для решения задачи, и перетаскиваешь части кода, пока не получишь скрипт. Одна из главных фишек PowerGUI - это Power Packs, готовые скрипты, опубликованные сообществом пользователей и выложенные в свободный доступ. Тут есть и простенькие команды вроде добавления пользователей, и сложные - к примеру, управление свитчами и виртуальными машинами. Все их легко дополнять и модифицировать в соответствии с нуждами.


Фирмы Sapien - более продвинутая среда, которая рассчитана на совместную разработку одного проекта большим количеством участников. Если ты когда-нибудь имел дело с Visual Studio, то, думаю, заметишь сходство. Среди полезных фишек PowerShell Studio - панель Ribbon, поддержка удаленной отладки, а также функции компилятора, которые позволяют включить скрипты в исполняемые файлы. Есть поддержка разных версий PowerShell.





Top