Показать полную графическую версию : [решено] Утилита bcdedit в версии 1703
Алекс-01
04-05-2017, 09:12
Win.10 Домашняя
Добрый день, перешёл с версии 1607 на версию 1703 сборка 15063.250 здесь оказалось, что не всё работает, так как на версии 1607.
Например утилита bcdedit:
Заметил, что если вводишь команды с идентификатором - ID, например: изменение расположения записей в меню загрузки (или другую), то команды не выполняются и система пишет - Непредвиденная лексика и т. д.
Если вводить команды не требующие ID - команды выполняются.
Хочу заметить, что интересует именна эта утилита, как изменить расположение записей в загрузки или другие команды при помощи программ знаю!
Что изменилось и как исправить эту ситуацию?
Алекс-01,
В командной строке работает утилита?? Если нет - покажите скрин из командной строки.
Bcdedit.exe из PowerShell (https://xaegr.wordpress.com/2009/03/31/cmdparsing-bcdedit/)
Неудивительно что bcdedit ругался на синтаксис. Насколько я понимаю, PowerShell увидев конструкцию в фигурных скобках, посчитал её блоком кода (scriptblock), и решил перед отправкой команде назначения закодировать с помощью base64 и передать после параметра –encodedCommand. Сам то PowerShell.exe без проблем разобрался бы с такой конструкцией, но вот bcdedit.exe удивился.
Как же обойти этот неприятный эффект? Ну, например, поместить идентификатор в кавычки:
PS C:\Windows\System32> testargs.cmd /set "{c2b02f79-36b4-11dd-9e1b-99d426d57382}" description "Windows Vista"
Arg1: [/set]
Arg2: [{c2b02f79-36b4-11dd-9e1b-99d426d57382}]
Arg3: [description]
Arg4: ["Windows Vista"]
Arg5: []
Двойные, или одинарные, в данном случае не важно. Главное что PowerShell теперь будет считать этот аргумент обычной строчкой, и передаст дальше в неизменном виде.
Второй вариант решения – просто напросто экранировать фигурные скобки, раз уж они смущают PowerShell. Экранирование в PowerShell выполняется с помощью символа ` (обратный апостроф):
PS C:\Windows\System32> bcdedit /set `{c2b02f79-36b4-11dd-9e1b-99d426d57382`} description "Windows Vista"
The operation completed successfully.
Алекс-01
05-05-2017, 09:12
Спасибо, понял. Я просто подумал, что PowerShell это и есть командная строка от администратора.
Тогда подскажите, как можно просто без заморочек вызвать командную строку от администратора.
Обычная строка есть в Служебные - Windows затем при помощи контекстного меню можно вызвать от администратора.
А побыстрей?
Алекс-01,
Open Elevated Command Prompt in Windows 10 (https://www.tenforums.com/tutorials/2790-open-elevated-command-prompt-windows-10-a.html)
Так же вы можете создать ярлык и в свойствах указать:
https://i.imgur.com/QSYLwDu.png
что PowerShell это и есть командная строка от администратора »
Можете его заменить в Win+X меню на командную строку.
Show Command Prompt or Windows PowerShell on Win+X menu in Windows 10 (https://www.tenforums.com/tutorials/22882-show-command-prompt-windows-powershell-win-x-menu-windows-10-a.html)
А побыстрей? »
При включенном UAC быстрее всего Способ №4 - упрощаем запуск*для избранных приложений*при помощи планировщика заданий (запрос UAC не отображается) (http://www.oszone.net/10594#400)
Алекс-01
05-05-2017, 14:34
Казбек, Vadikan, спасибо!
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.