不再识别PowerShell命令

埃里克

我使用Chocolately在Win7 x64计算机上安装了一个软件包。作为安装的一部分,它希望将PowerShell升级到5.0。由于发生了这种情况,基本的PowerShell命令不再起作用。我已经在网上搜索了很多,还没有发现任何有用的东西。我真的对要做的事情感到困惑。

这是一个例子:

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>

我可以看到它正在解析命令的别名,例如:

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>

我在$ profile中设置了另一个别名,可以看到它已被识别。如果输入xx,PowerShell实例将关闭:

function global:xx
{   
    exit
}

$ env:psmodulepath似乎是正确的:

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>
戴维·波斯蒂尔

PowerShell命令不再起作用

$ env:psmodulepath似乎是正确的:

$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

"的中间有一个(双引号),$env:psmodulepath这在我的安装中不存在:

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

您可以通过$env:psmodulepath自己明确设置删除双引号

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章