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