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

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

> ((Get-Command TestPath).ParameterSets.Parameters | Where-Object Name -eq Path).HelpMessage
Оффтоп конечно, но что-то я не могу сказать, что PowerShell выглядит удобным… по крайней мере для получения манов

Все в нем в порядке с удобством, это просто автор поста что-то странное написал. Командлет get-help еще никто не отменял.

При правильном описании функции и подключении ее через модули (или "."-include), для вызова справки по функции достаточно выделить ее и нажать F1. Именно поэтому и появилась статья.

Как же все сложно написано… Да, эти все возможности есть — но, будучи примененными к настолько простым примерам, они только все усложняют.


1. Зачем в функции TestPath использован Return? Можно же написать просто —


Test-Path $Path

и значение, которое вернула эта команда автоматически станет возвращаемым значением функции.


2. Зачем столько параметров у атрибута?


[PARAMETER(Mandatory=$True,Position=0,HelpMessage = "Путь до проверяемого ресурса",ParameterSetName='Path')]

Позицию отдельно указывать не надо. ParameterSetName нужен только если у командлета есть два разных набора параметров. В итоге страшную запись можно сократить до


[PARAMETER(Mandatory=$True, HelpMessage = "Путь до проверяемого ресурса")]
Это вам понятно что конструкция в пункте 1. и 2. является пустой и ненужной в данном случае, но к сожалению уровень у всех разный и написать только последний пример без какой-то вводной тоже не правильно.
Цель была описание собственных функций, а не описание параметров переменной. Параметры довольно просто гуглятся.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации