Классы в Powershell. Ключевое слово hidden

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

Вообще, сначала планировал сделать одну статью на эту тему, но “Остапа понесло”, поэтому для простоты восприятия решил разбить одну большую статью, на две не очень больших.

Сегодня поговорим о том, как спрятать члены класса от посторонних глаз.

Тег «Далее»

Реклама
Рубрики:Powershell Метки: ,

Классы в Powershell. Методы

Продолжаем изучать классы в Powershell. В прошлой статье мы рассмотрели создание простого класса, имеющего несколько свойств, а также научились создавать объекты определённого нами типа. Сегодня добавим к нашему объекту несколько методов.

Тег «Далее»

Рубрики:Powershell Метки: ,

Классы в Powershell. Введение, свойства

Начиная с версии 5.0 в Powershell появилась возможность использовать свои собственные классы для создания объектов. Естественно, перед тем как создавать объект пользовательского класса, его (класс) нужно определить. Этим сегодня и займёмся.

Тег «Далее»

Рубрики:Powershell Метки: ,

Использование выражения Using Namespace в Powershell

В Powershell при обращении к .NET классам нужно указывать их полное имя. Например:

[System.Net.Dns]::GetHostByAddress('192.168.1.1')
[System.IO.Path]::GetRandomFileName()
[System.IO.Path]::GetTempFileName()
[System.IO.Path]::GetTempPath()

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

Тег «Далее»

Рубрики:Powershell Метки: ,

Работа с локальными учётными записями в Powershell

Я когда-то уже рассказывал как неудобно работать с локальными учётными записями пользователей в Powershell. Раньше для этого приходилось использовать не совсем удобный ADSI. С выходом Powershell 5.1, наконец-то, появились стандартные командлеты для управления учётными записями.

Тег «Далее»

Рубрики:Powershell Метки:

Использование пользовательских областей в Powershell

При написании скриптов Powershell бывают случаи, когда нужно на время изменить значение переменной, а затем восстановить исходное значение. Например, переопределить реакцию Powershell на возникновение не прерывающей ошибки. За это отвечает переменная $ErrorActionPreference. (Подробнее об этой и других переменных, которые задают поведение Powershell можно почитать, например на Technet.) Как правило в таком случае сохраняют исходное значение во временной переменной, а после выполнения определённых действий – восстанавливают:

"Исходное значение ErrorActionPreference - $ErrorActionPreference"

# Сохраняем исходное значение переменной во временную переменную
$ErrorActionPreferenceOLD = $ErrorActionPreference

# Меняем значение переменной на нужное
$ErrorActionPreference = 'stop'

"Изменённое значение ErrorActionPreference - $ErrorActionPreference"
# Выполняем какие-то действия...

# Восстанавливаем исходное значение переменной
$ErrorActionPreference = $ErrorActionPreferenceOLD

"Восстановленное значение ErrorActionPreference - $ErrorActionPreference"

В результате получим изменённое на время значение переменной:

Исходное значение ErrorActionPreference         - Continue
Изменённое значение ErrorActionPreference       - Stop
Восстановленное значение ErrorActionPreference  - Continue

Этого же результата можно добиться более простым путём.

Тег «Далее»

Рубрики:Powershell Метки:

Использование IntelliSense в Powershell ISE

Так получилось, что с самого появления Powershell у меня не получилось дружбы с встроенным редактором скриптов Powershell ISE, и почти все скрипты я писал используя сторонние редакторы. С каждой новой версией Powershell рос и обрастал функционалом и Powershell ISE, я за его развитием следил, но издалека – при появлении каждой новой фишки каждый раз говорил себе: “Прикольно, нужно будет попробовать”. Этим дело и ограничивалось.

Как говорится не было счастья, да несчастье помогло. Случилось так, что мне понадобилось срочно набросать небольшую конфигурацию на чужом компьютере, на котором не было не только какого-либо стороннего редактора скриптов, но даже интернета. А так как последние несколько месяцев конфигурации я не писал, и вообще голова была забита другими проблемами, то вполне очевидно, что структуру конфигурации, которую я подробно разбирал в одной из предыдущих статей я подзабыл. Поэтому ничего не оставалось кроме как воспользоваться советом, который услышал в каком-то курсе от Мастера джедая Powershell Джеффри Сновера: “Use IntelliSense, my friend, use IntelliSense”.

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

Тег «Далее»

Рубрики:Powershell Метки: ,