В следующем посте будет представлена подробная информация об атрибуте « Командлетбиндинг ».
Узнайте, как 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 « Командлетбиндинг ” для улучшения функции.