Узнайте, как PowerShell CmdletBinding расширяет возможности функций

Uznajte Kak Powershell Cmdletbinding Rassiraet Vozmoznosti Funkcij



Функция — это просто фрагмент кода, содержащий инструкции, которые можно использовать для создания выходных данных из входных данных. Функцию можно повторно использовать снова и снова. Функциональность функции можно расширить с помощью « Командлетбиндинг атрибут. Это помогает функции выглядеть и работать как скомпилированный командлет в PowerShell. Это обеспечит преобразование функции в командлет и доступ ко всем функциям командлета.

В следующем посте будет представлена ​​​​подробная информация об атрибуте « Командлетбиндинг ».

Узнайте, как PowerShell CmdletBinding расширяет возможности функций

Атрибут “ Командлетбиндинг ” используется для улучшения функции. В частности, основной функцией этого атрибута является превращение функции в работоспособный командлет.







Примеры, поясняющие заявленный признак, приведены ниже.



Пример 1. Использование атрибута «CmdletBinding» для преобразования строки из верхнего регистра в нижний регистр

В этом примере « Командлетбиндинг ” преобразует строку в нижний регистр:



Функция Нить - К - нижний регистр {
[ Командлетбиндинг ( ) ] Парам ( )
«ЭТО ПОРТАЛ ПОДСКАЗОК LINUX». .Понижать ( ) ;
}
Нить - К - нижний регистр

В упомянутом коде выше:





  • Сначала создайте функцию и укажите для нее имя.
  • Затем создайте « Парам() ' и указать ' [Привязка командлета()] ” перед ним.
  • После этого напишите строку в кавычках и соедините ее с « Понижать() метод.
  • Наконец, вызовите функцию, указав ее имя вне фигурных скобок:

Пример 2. Использование атрибута «CmdletBinding» в функции вместе с параметром «-Verbose»

Эта демонстрация преобразует строку в нижний регистр. Кроме того, он отобразит подробное сообщение с помощью кнопки « -Подробный параметр:



Функция Нить - К - нижний регистр {
[ Командлетбиндинг ( ) ] Парам ( )
Write-Verbose «Параметр -verbose будет отображать подробный оператор».
«ДОБРО ПОЖАЛОВАТЬ В КОНСОЛЬ». .Понижать ( ) ;
}
Нить - К - нижний регистр -Подробный

В вышеуказанном коде:

  • Подробное заявление дается с использованием « Write-Verbose ” командлет.
  • Затем имя функции указывается вне фигурных скобок вместе с « -Подробный параметр:

Пример 3. Используйте атрибут «CmdletBinding» вместе с объектами «SupportsShouldProcess» и «PSCmdlet».

Эта иллюстрация создаст подсказку, которая подтвердит, следует ли преобразовать строку в верхний регистр или нет:

Функция Нить - К - нижний регистр {
[ Командлетбиндинг ( SupportsShouldProcess '=' $Истина ) ] Парам ( )
Write-Verbose «Параметр -verbose будет отображать подробный оператор».
если ( $PSCmdlet .ShouldContinue ( 'Подтверждать?' , 'Преобразовать строку в нижний регистр' ) ) {
'ПРИВЕТ, МИР' .Понижать ( ) ;
} Еще {
'ПРИВЕТ, МИР'
}
}

В вышеуказанном коде:

  • Сначала создайте функцию и укажите имя.
  • Внутри функции передайте « SupportsShouldProcess=$Истина ' внутри ' Привязка командлетов() атрибут.
  • После этого создайте « если ” условие и передать “ $PSCmdlet.ShouldContinue() внутри него.
  • Затем добавьте текст внутри вышеуказанного параметра, который будет отображаться во время получения подтверждения от пользователя.
  • Условие «если» преобразует строку в нижний регистр, если пользователь нажимает « Да », иначе регистр строки не изменится:

Нажать на ' Да ”, чтобы преобразовать строку в нижний регистр:

Нить - К - нижний регистр -Подтверждать

Можно заметить, что строка была преобразована в нижний регистр.

Заключение

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