В Powershell возможно ли опубликовать модуль в памяти? - PullRequest
1 голос
/ 18 мая 2019

Мотивация

Мне нужно проверить логику загрузки моего пользовательского модуля.Публикация тестового модуля на настоящий момент, а затем его установка на настоящий момент занимает слишком много времени в Powershell.

Итак, вместо публикации тестового модуля в реальном каталоге мне было интересно, есть ли какая-то памятьпровайдер, который может удовлетворить функции модуля Powershell, например Publish/Install/Import-Module.

EDIT 1

По сути, я хочу то же самое, что и Простой PowerShell в памятиПоставщик?

РЕДАКТИРОВАТЬ 2

Мне особенно нужны следующие функции для работы с хранилищем в памяти:

  1. Install-Module
  2. Find-Module
  3. Get-Module с или без -ListAvailable
  4. Import-Module

При импорте файла psm1 не выполняетсяпорежь это.Создание модуля с New-Module также не обрезает его.

Ответы [ 3 ]

0 голосов
/ 19 мая 2019

Ранее я только что установил test modules с файлами PSD1 и PSM1, а затем поместил файл PS1 в каталог, когда он будет готов к тестированию.Если в разделе «Функции экспорта» PDS1 установлено значение *, он будет загружать файл PS1 при импорте модуля.

Другим способом было бы просто сохранить вашу функцию в виде файла PS1, а затем поставить ее Dot Source.Например:

. C:\Temp\TestFunction.ps1

Запишите точку, затем пробел.Это загрузит функцию в память и исчезнет после перезапуска сеанса.

0 голосов
/ 20 мая 2019

Вы не можете сделать это полностью в памяти, но вы можете использовать каталог.Возможно, вы сможете создать виртуальный диск или что-то подобное, но обычный каталог на SSD должен быть достаточно быстрым для большинства целей.Выполнить

# register the repo
Register-PSRepository -Name MyRepo -SourceLocaton c:\mydirectory

# publish to it
Publish-Module -Name MyModule -Repository MyRepo

# install from it
Install-Module -Name MyModule -Repoitory MyRepo
0 голосов
/ 18 мая 2019

вы можете использовать

Import-Module "Path to your psm1 file"

для целей тестирования, когда он находится в стадии разработки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...