Скрыть функции модуля PowerShell от автоматического завершения

Я использую пакет PowerShell v6.1.1 на сервере CentOS 7.

Я хотел бы скрыть некоторые функции модуля, который я создал, потому что конечный пользователь не должен их использовать. Это функции, которые он должен использовать, которые я хочу скрыть.

Пользователь должен использовать function1, function1 использовать function2, но пользователь не должен использовать function2, поэтому я не хочу, чтобы он видел function2.

Export-ModuleMember скрывает его только при использовании Get-Command -Module myModule, но автозаполнение с вкладкой по-прежнему показывает все функции.

Export-ModuleMember скрывает его только при использовании Get-Command -Module myModule, но автодополнение с вкладкой по-прежнему показывает все функции. Можете ли вы предоставить минимальный воспроизводимый пример? Я не могу воспроизвести проблему ни в Windows PowerShell 5.1, ни в PowerShell Core 6.2.0.
user4003407 06.05.2019 17:44

Вы можете попытаться явно определить функции для экспорта в файле psd1. Все остальные функции не экспортируются. Это зависит от того, сколько у вас публичных функций. Другим может быть использование семантики Verb-Noun для публичных функций и использование шаблона *-* для экспорта функций (в файле psd1 -> docs.microsoft.com/en-us/powershell/developer/module/…)

Moerwald 06.05.2019 19:23

@Moerwald, это действительно был psd1, который нужно было изменить, и он делает именно то, что мне нужно, спасибо, приятель!

Thibault Loison 09.05.2019 10:51
Что такое компоненты React? Введение в компоненты | Типы компонентов
Что такое компоненты React? Введение в компоненты | Типы компонентов
Компонент - это независимый, многократно используемый фрагмент кода, который делит пользовательский интерфейс на более мелкие части. Например, если мы...
0
3
183
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Комментарий Мёрвальда дал мне правильный способ скрыть функции модуля как от команды Get-Command, так и от автозаполнения вкладок.

Export-ModuleMember 'function1' в файле *.psm1 отображается только определенная функция при использовании Get-Command -Module myModule, но автозаполнение позволит пользователю использовать все функции из модуля.

Function-ToExport= 'function1' в файле *.psd1 сделает определенную функцию единственной, которую может использовать конечный пользователь, и эти функции смогут использовать другие функции в экспортируемом модуле.

Другие вопросы по теме