Мне было интересно, можете ли вы создать свои собственные классы атрибутов .NET для PowerShell и использовать их в сценариях, например
[DebugAttribute = истина] функция DoSomeThing () { «Я не бегу в режиме релиза» }
Вы должны иметь возможность создавать свои собственные атрибуты, но только для определенных целей - в частности, для проверки и преобразования аргументов.
Из документов MSDN :
оснастки не могут создавать собственные атрибуты, которые происходят от CmdletMetadataAttribute, потому что там не является публичным конструктором Тем не мение, оснастки могут извлекать пользовательские атрибуты из атрибута ValidateArgumentsAttribute и ArgumentTransformationAttribute классы.
Мне еще предстоит создать атрибут командлета и попробовать его в расширенной функции.