Войти

Показать полную графическую версию : [решено] Заглавные буквы в powershell


LoyZ
30-06-2019, 15:59
Здравствуйте.
Имеется 1809 ltsc x64 англоязычная.
В PS не пишутся все заглавные ангийские и большая часть русских букв. Причем при использовании caps lock, то все нормально. Я уже вышел из положения, вызвав PS из Command Promt, в таком извращенном варианте трудностей с заглавными не возникает.
Решаемо ли, или плюнуть?

Vadikan
30-06-2019, 17:06
LoyZ, проблема с модулем PSReadline. Его можно выгрузить, но синтаксис подствечиваться не будет
Remove-Module -Name PSReadline
Важно! С момента публикации этого сообщения был найден более удачный обходной путь http://forum.oszone.net/post-2882999.html#post2882999

LoyZ
30-06-2019, 18:07
проблема с модулем PSReadline. »
Спасибо, помогло =)


PS. Случайно выяснил. что проблема появляется при запуске PS при включенной русской раскладке, если была английская, то все в порядке.

Vadikan
05-08-2019, 20:13
PS. Случайно выяснил. что проблема появляется при запуске PS при включенной русской раскладке, если была английская, то все в порядке. »
Я тут сам словил, пока статью писал :) Там дело не во включенной русской раскладке, а в том, что по умолчанию используется русский язык ввода. Если настроить на английский - все ок. Это п. 3 тут http://www.outsidethebox.ms/19635/#_Toc7458

YuS_2
05-08-2019, 21:57
Его можно выгрузить, но синтаксис подствечиваться не будет »
кстати, как вариант, можно сделать даунгрейд модуля... ибо там есть ещё проблемы с ним, помимо прописных букв.

Vadikan
06-08-2019, 00:17
YuS_2, так напишите, как сделать даунгрейд

YuS_2
06-08-2019, 09:33
как сделать даунгрейд »
Да как обычно, как и с любым модулем.
Проверяем версию:
get-module psreadline
если версия 2.0.0, то при желании, можем сохранить копированием каталог модуля, который находится по пути:
c:\Program Files\WindowsPowerShell\Modules\PSReadline\2.0.0\
далее запускаем powershell от имени админа и:
uninstall-module psreadline
если вдруг модуль не удаляется командлетом, то его можно удалить вручную, просто удалив каталог (окно консоли при этом необходимо закрыть).
Далее:
find-module psreadline
если nuget не установлен, то может появиться запрос на установку.
смотрим версию и репозиторий, если 1.2 в PSGallery, то устанавливаем:
install-module psreadline -rep PSGallery
Всё.
ЗЫ
В принципе, psreadline можно устанавливать простым копированием из предыдущих версий win10

Vadikan
06-08-2019, 12:07
Занес фидбэк, поддержите https://aka.ms/AA5ru54 (нужна инсайдерская учетная запись)

Vadikan
07-08-2019, 11:09
В твиттере мне написали разработчики мсфт и сообщили, что у них нет пока предполагаемых сроков исправления в Windows.

Они предложили еще один обходной путь - установить бета-версию модуля из галереи, где все исправлено. Для этого нужно обновить два других модуля.

Install-Module PackageManagement -Force
Install-Module PowerShellGet -Force
Install-Module psreadline -allowprerelease -force

Текущая версия 2.0.0-beta4, но get-module -Name psreadline все равно покажет 2.0.0
Get-Module -Name PSReadline

ModuleType Version Name ExportedCommands
---------- ------- ---- ----------------
Script 2.0.0 PSReadline
Конкретную версию можно посмотреть так
(gmo psreadline).privatedata.psdata

Name Value
---- -----
Prerelease beta2

YuS_2
07-08-2019, 12:10
Install-Мodule psreadline -allowprerelease -force »
В этой строке М, а не M

где все исправлено. »
всё, да не совсем всё...
в профиле прописана функция:
function isadministrator{
$user = [security.principal.windowsidentity]::getcurrent()
$admin = [security.principal.windowsbuiltinrole]::administrator
(new-object security.principal.windowsprincipal $user).isinrole($admin)
}

if (isadministrator){
[console]::backgroundcolor = ($background = "darkred")
[console]::foregroundcolor = ($foreground = "white")
$host.privatedata.errorforegroundcolor = "red"
$host.privatedata.errorbackgroundcolor = $background
$host.privatedata.warningforegroundcolor = "yellow"
$host.privatedata.warningbackgroundcolor = $background
$host.privatedata.debugforegroundcolor = "yellow"
$host.privatedata.debugbackgroundcolor = $background
$host.privatedata.verboseforegroundcolor = "yellow"
$host.privatedata.verbosebackgroundcolor = $background
$host.privatedata.progressforegroundcolor = "yellow"
$host.privatedata.progressbackgroundcolor = $background
clear-host
}
Модуль psreadline -v 2.0.0-beta4 с такой функцией работает так:
http://ipic.su/img/img7/tn/Snimokekrana20190807150103.1565168706.png (http://ipic.su/img/img7/fs/Snimokekrana20190807150103.1565168706.png)
иногда значение:
[console]::backgroundcolor
[console]::foregroundcolor
может вообще слететь на значения по умолчанию...
В общем, всё равно, бета до ума не доведена, пока ещё...

Vadikan
07-08-2019, 13:32
В этой строке М, а не M »
В смысле, кириллица была? Поправил в посте выше.

всё, да не совсем всё... »
Эээ... речь о конкретной проблеме из этой темы. Она не воспроизводится.

YuS_2
07-08-2019, 14:15
В смысле, кириллица была? »
Да.

речь о конкретной проблеме из этой темы. »
ибо там есть ещё проблемы с ним, помимо прописных букв. »
Да, с прописными буквами проблему решили, а подсветку и не проверяли даже, видимо. :)

Vadikan
07-08-2019, 14:56
Ну это надо на гитхаб смотреть или писать https://github.com/PowerShell/PSReadLine В центр отзывов они не смотрят, как я понял.

YuS_2
07-08-2019, 17:38
Ну это надо на гитхаб смотреть или писать »
Имхо, сизифов труд...

В центр отзывов они не смотрят »
Боюсь, что они вообще никуда не смотрят... судя по скорости исправления ситуации. :)
Да и вообще, как можно было бету (непроверенный модуль) распространять вместе с windows? Вопрос риторический.

Vadikan
07-08-2019, 22:39
Имхо, сизифов труд... »
Активности там полно, тем более новые версии - OSS
Да и вообще, как можно было бету (непроверенный модуль) распространять вместе с windows? »
Это да... 1903
https://i.imgur.com/NzaD1bZ.png

Степановгорбунов@vk
02-02-2021, 19:22
ПОМОГИТЕ. Эту команду так и не удалось выполнить.

Install-Module psreadline -allowprerelease -force

Install-Module : Команда "Install-Module" найдена в модуле "PowerShellGet", но загрузить этот модуль не удалось. Для по
лучения дополнительных сведений выполните команду "Import-Module PowerShellGet".
строка:1 знак:1
+ Install-Module psreadline -allowprerelease -force
+ ~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (Install-Module:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CouldNotAutoloadMatchingModule

Vadikan
03-02-2021, 00:03
Для получения дополнительных сведений выполните команду "Import-Module PowerShellGet". »




© OSzone.net 2001-2012