Это не идеальный вариант, но вы можете создать переходы (MSDN), используя Sysinternals junction.exe. Это позволит вам хранить все фактические данные в одной папке, но ссылаться на нее с помощью разных путей.
[MSDN] Hard Links and Junctions
Предположим, что у вас было три (3) автономные .psm1
модуль файлы в папку с именем Modules
в вашем $env:UserProfile\Documents\WindowsPowerShell\Modules
каталоге.
Вы можете использовать несколько junction.exe
команды для создания места (ссылки), которые указывают на «реальную» Modules
папку в файловой системе.
$ModulePath = '{0}\Modules' -f (Split-Path -Path $Profile.CurrentUserCurrentHost -Parent);
junction.exe $ModulePath\Foo $ModulePath\Modules;
junction.exe $ModulePath\Bar $ModulePath\Modules;
junction.exe $ModulePath\Trevor $ModulePath\Modules;
Вот что он выглядит, когда вы перейдете в одном из контактов, например, Foo
.
Что касается Windows PowerShell, то, вы находитесь в Foo
каталоге, которое совпадает с именем файла Foo.psm1
. Он должен игнорировать остальные файлы в этой папке.
Теперь вы можете запустить Get-Module -ListAvailable
, и вы должны увидеть список модулей в своем каталоге пользовательского модуля.