Instalar o módulo Powershell a partir do repositório Github

Olá!

Nos últimos anos, o Powershell iniciou a expansão para outras plataformas e agora funciona no Windows, Linux e MacOS (eu até consegui iniciá-lo na distribuição Debian do Pi raspberry).

Atualmente, a principal maneira de instalar os módulos é a Galeria do PowerShell, mas, em algumas situações, ainda é conveniente instalar os módulos diretamente da fonte (o principal motivo - os principais repositórios do PowerShell configurados para MyGet ou NugetServer).

E pode ser doloroso instalar o Module no GitHub - você deve baixar o arquivo, encontrar a pasta modules extrair o conteúdo do arquivo e depois copiar a pasta do módulo para o diretório Powershell Profile.

Além disso - pessoas como eu não querem criar um repositório separado para cada módulo (sim, eu gosto da abordagem Release-Flow ), então faça o download e extraia apenas os módulos de que você gosta - ainda mais difícil.

Obviamente, existem vários scripts na Internet que visam baixar e instalar o módulo PowerShell do GitHub, mas não encontrei nenhuma permissão para instalar o Módulo a partir de qualquer pasta do Repositório no Github. É a maneira como aparece o projeto ` InstallFromGithub` .

A primeira vez que usei esse instalador apenas para meus módulos do Powershell, mas decidi separá-lo para permitir o uso em qualquer script de qualquer repositório.

Conheça o script 'install.ps1'!

Por exemplo, vamos tentar instalar o módulo Favoritos do repositório PowershellScripts diretamente da conta do GitHub:

Nós só precisamos definir parâmetros

$user="stadub"; $repo="PowershellScripts" $module="Bookmarks" 

Além disso, você pode deixar a variável $ module em branco para indicar o módulo colocado na pasta raiz

Portanto, a cadeia de instalação será:

 iex ('$module="Bookmarks";$user="stadub";$repo="PowershellScripts"'+(new-object net.webclient).DownloadString('https://raw.githubusercontent.com/PsModuleInstall/InstallFromGithub/master/install.ps1')) 

Agora, para verificar se funciona, vamos importar GHiPS e EventLogDrive

 Import-Module Bookmarks 

Simples, né ?!

Sob o capô, existe um script de download que funciona em qualquer plataforma com verificação de progresso e instalação, para que você não reescreva seu módulo existente.

Como mencionei antes, o script se separou de outros módulos e permite que qualquer pessoa use o instalador unificado.

E se você tiver alguma sugestão ou relatório de bug, poderá criar um problema no repositório.

Cumprimentos e feliz codificação,
Dima stadub

Source: https://habr.com/ru/post/pt476914/


All Articles