Os comandos do PowerShell não são mais reconhecidos

3

Eu instalei um pacote no meu computador Win7 x64 usando o Chocolately. Como parte da instalação, ele queria atualizar o PowerShell para 5.0. Como isso aconteceu, os comandos básicos do PowerShell não funcionam mais. Pesquisei na Web e não encontrei nada de útil. Estou realmente perplexo com o que fazer.

Veja um exemplo:

PS>Get-Location
Get-Location : The term 'Get-Location' is not recognized as the name of a cmdlet, function, script file, or operable
program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
At line:1 char:1
+ Get-Location
+ ~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (Get-Location:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException

PS>

Eu posso ver que está resolvendo aliases para meus comandos, por exemplo:

PS>dir
dir : The term 'Get-ChildItem' is not recognized as the name of a cmdlet, function, script file, or operable program.
Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
At line:1 char:1
+ dir
+ ~~~
    + CategoryInfo          : ObjectNotFound: (Get-ChildItem:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException

PS>

Eu tenho outro apelido no meu perfil $ e vejo que ele está sendo reconhecido. Se eu digitar xx, minha instância do PowerShell será fechada:

function global:xx
{   
    exit
}

O $ env: psmodulepath parece estar correto:

PS>$env:psmodulepath
C:\Users\myuserid\Documents\WindowsPowerShell\Modules;C:\Program Files (x86)\PowerShell Community Extensions\Pscx3\;C:\w
indows\system32\WindowsPowerShell\v1.0\Modules";C:\Program Files\WindowsPowerShell\Modules
PS>cmd
Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation.  All rights reserved.

C:\windows\system32>dir c:\windows\system32\WindowsPowerShell\v1.0\Modules
 Volume in drive C is OS
 Volume Serial Number is 605E-A0FF

 Directory of c:\windows\system32\WindowsPowerShell\v1.0\Modules

06/22/2016  11:41 PM    <DIR>          .
06/22/2016  11:41 PM    <DIR>          ..
05/20/2016  02:24 PM    <DIR>          ApplicationServer
06/22/2016  11:41 PM    <DIR>          CimCmdlets
06/22/2016  11:41 PM    <DIR>          ISE
06/22/2016  11:41 PM    <DIR>          Microsoft.PowerShell.Archive
06/22/2016  11:41 PM    <DIR>          Microsoft.PowerShell.Diagnostics
06/22/2016  11:41 PM    <DIR>          Microsoft.PowerShell.Host
06/22/2016  11:41 PM    <DIR>          Microsoft.PowerShell.Management
06/22/2016  11:41 PM    <DIR>          Microsoft.PowerShell.ODataUtils
06/22/2016  11:41 PM    <DIR>          Microsoft.PowerShell.Security
06/22/2016  11:41 PM    <DIR>          Microsoft.PowerShell.Utility
06/22/2016  11:41 PM    <DIR>          Microsoft.WSMan.Management
06/22/2016  11:41 PM    <DIR>          NetworkSwitchManager
06/22/2016  11:41 PM    <DIR>          PSDesiredStateConfiguration
06/22/2016  11:41 PM    <DIR>          PSDiagnostics
06/22/2016  11:41 PM    <DIR>          PSScheduledJob
06/22/2016  11:41 PM    <DIR>          PSWorkflow
06/22/2016  11:41 PM    <DIR>          PSWorkflowUtility
11/21/2010  02:24 AM    <DIR>          TroubleshootingPack
10/31/2014  04:26 PM    <DIR>          WebAdministration
               0 File(s)              0 bytes
              21 Dir(s)   2,301,882,368 bytes free

C:\windows\system32>
    
por Eric 23.06.2016 / 19:18

1 resposta

1

Os comandos do PowerShell não funcionam mais

The $env:psmodulepath seems to be correct:

$env:psmodulepath
C:\Users\myuserid\Documents\WindowsPowerShell\Modules;C:\Program Files (x86)\PowerShell Community Extensions\Pscx3\;C:\windows\system32\WindowsPowerShell\v1.0\Modules";C:\Program Files\WindowsPowerShell\Modules

Você tem um " (aspas duplas) no meio do seu $env:psmodulepath , que não está lá na minha instalação:

PS F:\test> $env:psmodulepath
C:\Users\DavidPostill\Documents\WindowsPowerShell\Modules;C:\Program Files\WindowsPowerShell\Modules;C:\Windows\system32\WindowsPowerShell\v1.0\Modules

Você pode remover as aspas duplas configurando $env:psmodulepath explicitamente você mesmo.

    
por 23.06.2016 / 23:12