3

Я установил пакет на свой компьютер Win7 x64, используя Chocolately. В рамках установки он хотел обновить 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>

У меня есть другой псевдоним в моем профиле $, и я вижу, что он распознается. Если я наберу 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>

1 ответ1

1

Команды 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 .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .