Eu tenho o powershell funcionando novamente, mas eu tive que criar $Home\Documents\Profile.ps1
com o conteúdo
$env:PSModulePath = [string]::join(';', ($env:PSModulePath -Split ';' | % {$_.TrimEnd('\')} | Sort-Object -Unique))
Aqui está o meu problema:
PS C:\windows\system32> $env:PSModulePath.Replace(';',"'n")
C:\Users\sirdank\Documents\WindowsPowerShell\Modules
C:\Program Files\WindowsPowerShell\Modules
C:\windows\system32\WindowsPowerShell\v1.0\Modules
C:\Program Files (x86)\Microsoft SQLServer0\Tools\PowerShell\Modules\
C:\Program Files(x86)\Microsoft SDKs\Azure\PowerShell\ResourceManager\AzureResourceManager\
C:\Program Files (x86)\Microsoft SDKs\Azure\PowerShell\ServiceManagement\
C:\Users\sirdank\Documents\WindowsPowerShell\Modules
C:\Program Files\WindowsPowerShell\Modules
C:\windows\system32\WindowsPowerShell\v1.0\Modules
C:\Program Files (x86)\Microsoft SQLServer0\Tools\PowerShell\Modules\
C:\Program Files(x86)\Microsoft SDKs\Azure\PowerShell\ResourceManager\AzureResourceManager\
C:\Program Files (x86)\Microsoft SDKs\Azure\PowerShell\ServiceManagement\
C:\ProgramFiles (x86)\Microsoft SDKs\Azure\PowerShell\Storage\
Isso aconteceu depois que executei Get-Module xWebAdministration
porque desejo usar a Configuração do estado desejado do Azure. Desde então, eu tentei
Nenhuma dessas coisas resolveu meu problema. Quando olho no painel de controle, o PSModulePath parece estar configurado corretamente. No entanto, quando eu abro o powershell, ele ainda exibe a saída acima e o DSC ainda não funciona porque ele tenta obter xWebAdministration duas vezes. Como corrijo meu PSModulePath
?
Eu tenho o powershell funcionando novamente, mas eu tive que criar $Home\Documents\Profile.ps1
com o conteúdo
$env:PSModulePath = [string]::join(';', ($env:PSModulePath -Split ';' | % {$_.TrimEnd('\')} | Sort-Object -Unique))
Se PSModulePath
for definido como uma variável do usuário e uma variável do sistema, os dois serão combinados, como PATH
is. Estranhamente, somente a variável de usuário aparecerá no prompt de comando se você usar echo %PSModulePath%
, mas $env:PSModulePath
no PowerShell exibirá o valor real combinado, assim como o comando de lote original se você iniciar cmd
do PowerShell. Parece que as pastas de módulos descendentes de seus documentos e de arquivos de programas são adicionadas pelo PowerShell em tempo de execução, portanto, elas não precisam ser fornecidas por variáveis de ambiente.
Para desduplicar os caminhos do módulo, remova a variável de ambiente extra ou edite-a para não repetir nenhuma pasta.