Собрать пакет командлетов powershell для быстрого развертывания на любой машине? - PullRequest
1 голос
/ 11 марта 2011

У меня есть несколько командлетов, которые я написал, которые помогают мне в моей повседневной работе, и я хотел бы, чтобы они были легко доступны на любой новой машине, на которой я мог бы работать.

IЯ думаю, что было бы замечательно, если бы у меня был какой-нибудь скрипт / исполняемый файл на удаленном общем ресурсе, который я мог бы выполнить с любой машины, на которой я временно работаю, что запустило бы новый экземпляр powershell со всеми моими скриптами, уже загруженными в среду.

Я думаю, что это либо вопрос создания новой оснастки (может быть, я слишком усложняю это), либо, возможно, мне удастся просто загрузить удаленно расположенную библиотеку .ps1 функций из powershell, запущенную на одном изэти машины, над которыми я работаю.

Любые предложения / рекомендации по передовому опыту?

Ответы [ 3 ]

5 голосов
/ 11 марта 2011

Вы хотите создать модуль PowerShell. Модули могут быть развернуты через Xcopy, без регистрации dll или чего-нибудь в стиле фанк. Вы можете установить все виды опций для вашего модуля, используя Манифест модуля. Это даст вам управление версиями, предварительные условия, на каких хостах вы сможете запустить свой модуль, а также множество других опций. В PowerShell проверьте

PS> Help about_module
PS> get-command new-modulemanifest
1 голос
/ 11 марта 2011

Я бы просто создал файл скрипта PowerShell (.PS1) и импортировал все нужные мне модули.Затем на удаленном компьютере я просто запустил этот новый файл PS1 с удаленного общего ресурса.Однако при загрузке модулей / сценариев из удаленного источника может потребоваться изменить локальные файлы PowerShell.exe.config или PowerShell_ise.exe.config, добавив:

<configuration>
   <startup useLegacyV2RuntimeActivationPolicy="true">
      <supportedRuntime version="v2.0" />
      <process>
         <rollForward enabled="false" />
      </process>
   </startup>
   <runtime>
      <loadFromRemoteSources enabled="true"/>
   </runtime>
</configuration>

Эти файлы не существуютдефолт.Вам нужно будет создать их в C: \ Windows \ System32 \ WindowsPowerShell \ v1.0 \

1 голос
/ 11 марта 2011

Я думаю, что модуль может быть тем, что вы ищете.

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