Los comandos de PowerShell ya no se reconocen

Los comandos de PowerShell ya no se reconocen

Instalé un paquete en mi computadora Win7 x64 usando Chocolately. Como parte de la instalación, quería actualizar PowerShell a 5.0. Desde que esto sucedió, los comandos básicos de PowerShell ya no funcionan. He buscado en la web y realmente no encontré nada útil. Estoy realmente desconcertado sobre qué hacer.

He aquí un ejemplo:

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>

Puedo ver que está resolviendo alias para mis comandos, por ejemplo:

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>

Tengo otro alias configurado en mi perfil $ y puedo ver que se está reconociendo. Si escribo xx mi instancia de PowerShell se cerrará:

function global:xx
{   
    exit
}

El $env:psmodulepath parece ser correcto:

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>

Respuesta1

Los comandos de PowerShell ya no funcionan

El $env:psmodulepath parece ser correcto:

$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

Tienes una "(comilla doble) en el medio $env:psmodulepathque no está en mi instalación:

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

Puede eliminar las comillas dobles configurándolas $env:psmodulepathexplícitamente usted mismo.

información relacionada