Olá pessoal,
A partir do lançamento do PowershellGet, os módulos locais vem sido gerenciados por ele com os comandos Install, Get e Uninstall para instalar, listar e desistalar, respectivamente. Quando atualizamos modulos da galeria usando Update-Module, as versões ficam armazenadas localmente, e depois de um tempo podem ocupar muito espaço. Para que pudesse manter apenas as versões mais recentes dos modulos instalados na minha estação resolvi fazer um script simples que remove as versões antigas armazenadas localmente.
#requires -Version 2.0 -Modules PowerShellGet
foreach($Module in (Get-InstalledModule))
{
$Modules = Get-InstalledModule -Name $Module.Name -AllVersions
@($Modules | Sort-Object -Property version -Descending)[1..$Modules.count] | ForEach-Object -Process {
Uninstall-Module -Name $Module.Name -RequiredVersion $_.Version -Verbose -Force
}
}
Esse script utiliza apenas o modulo PowershellGet e pode ser executado sem problemas a partir da versão 2.0
Dúvidas? Sugestões? Comente!
Até a próxima!