Отсутствует исполняющее ядро для расширения имени файла vbs
Отсутствует исполняющее ядро для расширения имени файла vbs
И вот наконец-то эту ошибку удалось решить!
Не претендую на 100% решение проблемы, но рекомендации с сайта Майкрософта так и не помогли. Зато было найдено решение, которое в моей ситуации оказалось эффективным. Итак открываем консоль Винды (Ctrl+Win) и запускаем cmd.
вписываем (или вставляем) в консоль:
ASSOC .JS=JSFile
нажимаем Enter
и далее
ASSOC .VBS=VBSFile
И Ура! Все работает
Популярные сообщения из этого блога
Как в The Bat 4.

Нет, это просто издевательство! Разработчикам The Bat явно надо нанять хоть один раз контору которая спроектирует им нормальный интерфейс. Программа их — лучшая в своем классе, но такая мелкая проблемка с изменением кодировки письма портила мне жизнь очень долго. Вся проблема в том, что я часто пишу письма на таких языках как немецкий и французский, в которых есть символы типа умляутов и т.п., по умолчанию у меня стоит кодировка Cyrillic 1251, а для указанных выше языков нужна UTF-8. Вот так я и переключал вручную два года пока случайно при создании нового ящика и редактировании шаблонов писем по умолчанию в глаз не стукнула надпись: Использовать набор символов Вот где оно зарыто! Для тех кто будет искать эту настройку, находится она по адресу: Ящик -> Свойства почтового ящика -> Шаблоны -> Новое письмо -> Использовать набор символов Приятного использования The Bat!
Далее…
Для этой книги недоступны проект VBA.

Сегодня решил установить себе для пробы Офис 2010. Хотя офисом Майкрософта последний год не пользуюсь (вполне устраивает LibreOffice), но для пробы и оценки так сказать решил поставить. Установил только самые нужные программы и компоненты: Access, Excel, Word и PowerPoint. И в первую очередь решил проверить работоспособность старых файлов, которые часто использовал в работе с использованием ранних версий Экселя, и основной функционал в них написан на VBA. В общем Мазай, открываю файл и Эксель выдает мне: Для этой книги недоступны проект VBA, элементы управления ActiveX и остальные программные средства Офигеть, слава и хвала Мастдаю, который не может обеспечить совместимость в одной линейке своих же продуктов. Идиотизм… Что делать? Приходиться лезть в Инет и искать решение вопроса. Детище Империи Гггг… выдает мне больше 100 страниц с такой же проблемой и вопросами как её решить (на русском языке конечно). Нахожу на одном форуме решение — переустановить компоненты Visual Basic из
Далее. ..
SciTE — Open Source Text Editor for Windows & Linux | Программы
← Вернуться в раздел «Программы»
Автор: ALeXkRU
Дата сообщения: 04.04.2011 14:57
bibirada
может, из-за Ctrl+B? оно ж занято..
Автор: Psorokin
Дата сообщения: 04.04.2011 18:54
bibirada
А зачем так всё усложнять, ведь есть аббревиатуры (которые, кстати, разворачиваются по Ctrl+B) и их гораздо легче настраивать?
Автор: Motrim
Дата сообщения: 04.04.2011 21:19
Снова вопросик: как отключить эти закрученные стрелочки в конце каждой строчки (это символы перевода строки? в терминологии не сильна)? Если бы они не выводились на печать — фиг бы с ними, но они пропечатываются, надоело Покопалась в меню «вид», но смогла отключить только номера строк…
Автор: Zloy_Gelud
Дата сообщения: 04. 04.2011 23:40
Motrim
Цитата:
И, повторюсь еще раз, нельзя ли насовсем отключить боковую панель, не проделывая эту операцию каждый раз при очередном открытии редактора?
Вам же уже подсказали
Автор: bibirada
Дата сообщения: 05.04.2011 06:21
ALeXkRU
Была такая мысль, пробовал разные буквы подставлять-не работало. Сейчас внимательно посмотрел,после буквы точка,такая как ставится при пробеле.Убрал-заработало.Вот,видно,из-за пробела не работало.
Psorokin
По аббревиатурам я вообще не понял как там что.Если не лень-поясни,может удобнее мне будет,а если лень-сойдет и так.
Автор: mozers
Дата сообщения: 05.04.2011 09:52
Motrim
Цитата:
как отключить эти закрученные стрелочки в конце каждой строчки
ИМХО никак
bibirada
Цитата:
«Отсутствует исполняющее ядро для расширения имени файла «.js».
тут
Автор: Motrim
Дата сообщения: 07.04.2011 10:00
Zloy_Gelud,
Цитата:
Вам же уже подсказали
Да? Спасибо большое, я и не знала. Да и откуда мне знать, что side bar и боковая панель — одно и то же? Это естественно, что непонятное прошло мимо глаз
mozers,
Цитата:
ИМХО никак
ой-ой-ой-ёй, это очень плохо… Спасибо за ответ
Автор: Psorokin
Дата сообщения: 07.04.2011 18:50
bibirada
С аббревиатурами всё очень просто и удобно. Например: набираешь <b нажимаешь Ctrl+B и получаешь <b>l</b> с курсором посередине. Если у тебя открыта вкладка abberv на боковой панели, то можно просто дважды кликнуть по аббревиатуре для её вставки.
Можешь добавить свои аббревиатуры в соответствующий файл в папке Abbrev
Автор: bibirada
Дата сообщения: 12. 04.2011 03:44
Psorokin
Понял.Я сразу тогда попробовал(один раз жал),появляется тэг-на окне нажму пропадает,там 2 раза надо жать.Вообще штука хорошая,но мне надо 7-10 тэгов,мне проще на горячие клавиши их навесить.
Угу.До Гугла я не добрался.
Автор: Cuprume
Дата сообщения: 13.04.2011 22:13
Подскажите есть ли какое сочетание клавиш для восстановления последней закрытой вкладки?
Понятно, что можно идти в меню «Файл» и выбрать там из списка, но немного не то, хотелось бы с клавиатуры.
Автор: insolor
Дата сообщения: 14.04.2011 14:01
Можно ли настроить чтобы при переходе в DOS Mode (cp866) шрифт не менялся с моноширинного на пропорциональный? В файле глобальных настроек подборка пропорциональных шрифтов закомментирована.
Автор: mozers
Дата сообщения: 14.04.2011 20:20
Cuprume
Как вызвать этот пункт меню не придумал.
Но проблему можно решить простеньким скриптом OpenLastFile.
Код:—[[—————————————————
Открывает (по Ctrl+1) последний закрытый файл
——————————————————
Подключение:
Добавьте в SciTEStartup.lua строку
dofile (props[«SciteDefaultHome»]..»\\tools\\OpenLastFile.lua»)
—]]————————————————— local fname = » — имя последнего закрытого файла
local id = ‘240’ — любой свободный номер меню Tools
— Добавляем вызов ф-ции open_last_file и шорткат
props[‘command.mode.’..id..’.*’] = ‘subsystem:lua,savebefore:no’
props[‘user.shortcuts’] = props[‘user.shortcuts’]..’Ctrl+1|9′..id..’|’ — Функция открытия файла
function open_last_file()
if fname ~= » then
scite.Open(fname)
end
end — При закрытии вкладки сохраняет имя файла
AddEventHandler(«OnClose»,
fname = file
end)
Автор: insolor
Дата сообщения: 14. 04.2011 23:57
Благодарю
Уточняю, SciTE Версия 2.25 .93Ru Mar 27 2011 12:41:39
у меня изменение шрифта наблюдается
Скриншот 1, режим обычный (win mode), шрифт Consolas
http://rghost.ru/5193642/image.png
Скриншот 2, режим DOS mode (cp866), шрифт какой-то другой
http://rghost.ru/5193691/image.png
Автор: LosInfant
Дата сообщения: 15.04.2011 00:29
1) подскажите, как сделать в cpp, чтобы при открытии скобки у меня у второй скобки не было отступа ?
т.е изначально так:
abc
{
}
а мне надо, чтобы было так:
abc
{
<tab>курсор
}
а еще лучше:
abc
{
<tab>курсор //после нажимаем энтер и следующая строка опять начинается с таба т.е
}
2) У кого есть луа скрипт для фолдинга, в котором можно указывать начальное слово фолда и конечное. Мне нужно начальное = proc конечное — endp.
3)автодополнение скобок. Заюзал простой вариант:
—// Автозакрытие
SymbolAutoClose(charAdded,'(‘,’)’,pos)
у кого есть нормальный вариант, когда скобка возле слова обрамляет полностью слово с двух сторон(и обратная скобка вконце слова обрамляет слово вначале. В общем сложный вариант автозакрытия слова
Заранее весьма благодарен.
Автор: mozers
Дата сообщения: 15.04.2011 10:49
insolor
Цитата:
SciTE Версия 2.25 .93Ru Mar 27 2011 12:41:39
шрифт Consolas
Нету такой установки в этой сборке. Если ты сам задал этот шрифт, то задал его неправильно.
LosInfant
И (1) и (3) реализованы скриптом smartbraces.lua (см. внутри подробное описание работы). Не нравится его поведение? — отключи или перепиши «под себя».
2) Фолдинг — результат работы соответствующего лексера. Т.е. если в каком то языке фолдинг не работает или работает некорректно, то надо править лексер.
Именно поэтому «скрипт для фолдинга, в котором можно указывать начальное слово фолда и конечное» не существует. Написать, конечно, можно, но это будет неправильным способом решения проблемы.
С первым постом!
Автор: idlenlazy
Дата сообщения: 15.04.2011 11:18
Motrim
Цитата:
Снова вопросик: как отключить эти закрученные стрелочки в конце каждой строчки (это символы перевода строки?
wrap.visual.flags=0
Автор: Cuprume
Дата сообщения: 15.04.2011 11:29
mozers
Спасибо огромное за скрипт!
Автор: LosInfant
Дата сообщения: 15.04.2011 12:18
mozers, дело в том, что лексеры реализованы на си и требуют сборки. При каждом обновлении scite нужно будет собирать вручную лексеры. Если ты не ковыряешься в сорсах скита и не девелопер скита — это дело неблагодарное. В общем это — нерационально. Лучше реализовать луа скриптом и не тревожиться при обновлении скита.
Автор: insolor
Дата сообщения: 15.04.2011 13:48
mozers
Я эти параметры и менял:
Код:
# font.0.base=font:Courier New,size:10
# font.0.small=font:Courier New,size:8
# font.0.comment=font:Courier New,size:9,italics
font.0.base=font:Consolas,size:10
font.0.small=font:Consolas,size:8
font.0.comment=font:Consolas,size:9,italics
Автор: mozers
Дата сообщения: 15.04.2011 14:11
LosInfant
Складно излагаете, но я не согласен ни с одним словом.
С каким языком проблема то? Паскаль чтоли?
idlenlazy
ALL
Народ, когда постите сюда ключи, описанные в документации, то дабл-кликайте на них — и ссылка будет скопирована в буфер обмена.
Останется только вставить в пост. Вот так wrap.visual.flags
insolor
Параметры заданы правильно. (У меня, кстати, тоже Consolas стоит).
Причина глюка — непонятна.
Автор: LosInfant
Дата сообщения: 15.04.2011 21:04
1)mozers, fasm aka flat assembler. Очень надо фолдинг. Очень.
2)си и асм нужны автоматический отступ(асм — тройной, си — двойной). Чем его реализовать ?
Автор: insolor
Дата сообщения: 15.04.2011 23:12
mozers
Возможно причина глюка в том, что шрифт Consolas не поддерживает oem кодовые страницы? Смотрю в плагине font для TC:
Шрифт Courier New:
Код: Supported Code Pages
1250 ANSI Latin 2 (Central Europe)
1251 ANSI Cyrillic
1252 ANSI Latin 1
1253 ANSI Greek
1254 ANSI Turkish
1255 ANSI Hebrew
1256 ANSI Arabic
1257 ANSI Baltic
1258 ANSI Vietnam
437 OEM United States
852 OEM Latin 2
855 OEM Cyrillic (Primarily Russian)
860 OEM Portuguese
861 OEM Icelandic
862 OEM Hebrew
863 OEM Canadian French
864 OEM Arabic
865 OEM Nordic
866 OEM Russian
869 OEM Modern Greek
708 OEM Arabic (ASMO 708)
737 OEM Greek
775 OEM Baltic
850 OEM Latin 1 (Multilingual)
Автор: mozers
Дата сообщения: 16. 04.2011 12:17
insolor
Цитата:
причина глюка в том, что шрифт Consolas не поддерживает oem кодовые страницы?
Вывод — абсолютно правильный.
И где ты такой кастрированный Consolas надыбал? Возьми отсюда.
Добавлено:
LosInfant
Цитата:
fasm aka flat assembler. Очень надо фолдинг. Очень.
Лексер asm в последней версии сильно модифицирован. Появились новые настройки, касающиеся как раз фолдинга.
Цитата:
Asm, Basic, and D lexers add extra folding properties.
Подробности тут и тут.
Цитата:
си и асм нужны автоматический отступ(асм — тройной, си — двойной). Чем его реализовать ?
А стандартными настройками что не получается?
Автор: insolor
Дата сообщения: 16. 04.2011 16:19
mozers
Цитата:
И где ты такой кастрированный Consolas надыбал?
Как ни странно на microsoft.com
С новой версией шрифта работает нормально
Автор: UR4LTZ
Дата сообщения: 20.04.2011 04:01
LosInfant
Цитата:
fasm aka flat assembler
ASM он и Африке asm.. Как по мне то ближе синтаксис masm..
Как ты правильно заметил лексеры сделаны на С++ а не на Lua, делать на Lua, не нужно и так тормозов хватает…
Как заметил mozers
Цитата:
Лексер asm в последней версии сильно модифицирован. Появились новые настройки, касающиеся как раз фолдинга.
Вот там все сделано под синтаксис MASM, мною он немного проверен проп файлы под MASM проверены на 99%, и NASM проверен на тестовых фалах что шли в GIT. Правки залиты на SVN.
Предлагай свои варианты настроек FASM, будем думать и обсуждать правки..
Автор: crc1
Дата сообщения: 20.04.2011 13:10
Знатокам Scintilla
Возможно ли средствами Scintilla вывести такую строку
Код: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Автор: msdenis
Дата сообщения: 21.04.2011 07:58
Объясните пожалуйста, каким образом мне проверить синтаксис?
Ctrl+F5 не работает. Это очень полезная функция и ее наличие критично важно.
Автор: mozers
Дата сообщения: 21.04.2011 19:42
crc1
Сложно ответиь однозначно и не ошибиться. Уже в который раз открываю ускользнувшую от меня возможнсть Scintilla. Наверное лучше задать такой вопрос на форуме Scintilla — там не ошибутся.
msdenis
Синтаксис чего? В SciTE не встрена проверка синтаксиса ни одного из тучи поддерживаемых языков.
Что там у вас на Ctrl+F5 навешано — неизвестно. Телепаты — в отпуске.
Автор: msdenis
Дата сообщения: 21.04.2011 20:22
Синтаксис написанного кода!
Добавлено:
Автор: Zloy_Gelud
Дата сообщения: 21.04.2011 20:33
msdenis — в этом топике можно задавать вопросы по проекту SciTE-Ru, но не как ни по сборкам команды AutoIt Team. Если у тебя возникли проблемы с опцией проверки синтаксиса в этой сборке, то обращайся к ее авторам.
Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
Предыдущая тема: Opera AC
Форум Ru-Board.club — поднят 15-09-2016 числа. Цель — сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.
Не удается запустить мой проект Node.js Typescript TypeError [ERR_UNKNOWN_FILE_EXTENSION]: неизвестное расширение файла «.ts» для /app/src/App.

Я внес некоторые изменения в свой package.json и tsconfig.json. Наконец, это сработало для меня!
- Добавить «тип»: «модуль» в package.json
- Раскомментируйте «moduleResolution»: раздел «node» в вашем tsconfig.json
- Измените раздел «модуль» на «ESNEXT» в вашем tsconfig.json
- Затем просто запустите основной скрипт с этим узлом —loader ts-node/esm .\index.ts
tsconfig.json
{ "Параметры компилятора": { /* Посетите https://aka.ms/tsconfig.json, чтобы узнать больше об этом файле */ /* Проекты */ // "incremental": true, /* Включить инкрементную компиляцию */ // "composite": true, /* Включить ограничения, позволяющие использовать проект TypeScript со ссылками на проект. */ // "tsBuildInfoFile": "./", /* Укажите папку для файлов инкрементной компиляции .tsbuildinfo. */ // "disableSourceOfProjectReferenceRedirect": true, /* Отключить предпочтение исходных файлов вместо файлов объявлений при ссылке на составные проекты */ // "disableSolutionSearching": true, /* Отключить проект от многопроектной проверки ссылок при редактировании.*/ // "disableReferencedProjectLoad": true, /* Уменьшить количество проектов, автоматически загружаемых TypeScript. */ /* Язык и среда */ "target": "es5", /* Установить версию языка JavaScript для создаваемого JavaScript и включить объявления совместимых библиотек. */ // "lib": [], /* Укажите набор связанных файлов объявлений библиотек, описывающих целевую среду выполнения. */ // "jsx": "сохранить", /* Укажите, какой код JSX генерируется. */ // "experimentalDecorators": true, /* Включить экспериментальную поддержку TC392 этап эскиз декораторов. */ // "emitDecoratorMetadata": true, /* Выдавать метаданные типа дизайна для оформленных объявлений в исходных файлах. */ // "jsxFactory": "", /* Укажите фабричную функцию JSX, используемую при нацеливании на генерацию React JSX, например. 'React.createElement' или 'h' */ // "jsxFragmentFactory": "", /* Укажите ссылку на фрагмент JSX, используемую для фрагментов при нацеливании на генерацию React JSX, например. «React.Fragment» или «Фрагмент». */ // "jsxImportSource": "", /* Укажите спецификатор модуля, используемый для импорта функций фабрики JSX при использовании `jsx: react-jsx*`.
` */ // "reactNamespace": "", /* Указываем объект, вызываемый для `createElement`. Это применимо только при нацеливании на `react` JSX. */ // "noLib": true, /* Отключить, включая любые библиотечные файлы, включая lib.d.ts по умолчанию. */ // "useDefineForClassFields": true, /* Генерировать поля класса, соответствующие стандарту ECMAScript. */ /* Модули */ "module": "ESNEXT", // ****ЗДЕСЬ /* Укажите, какой код модуля генерируется. */ // "rootDir": "./", /* Укажите корневую папку в ваших исходных файлах. */ "moduleResolution": "node", // ****ЗДЕСЬ /* Укажите, как TypeScript ищет файл из данного спецификатора модуля. */ // "baseUrl": "./", /* Укажите базовый каталог для разрешения не относительных имен модулей. */ // "paths": {}, /* Укажите набор записей, которые повторно сопоставляют импорт с дополнительными местами поиска. */ // "rootDirs": [], /* Разрешить обработку нескольких папок как одной при разрешении модулей. */ // "typeRoots": [], /* Укажите несколько папок, которые действуют как `.
/node_modules/@types`. */ // "types": [], /* Укажите имена пакетов типов, которые будут включены без ссылок в исходном файле. */ // "allowUmdGlobalAccess": true, /* Разрешить доступ к глобалам UMD из модулей. */ // "resolveJsonModule": true, /* Включить импорт файлов .json */ // "noResolve": true, /* Запретить импортировать, требовать или
увеличивать количество файлов, которые TypeScript должен добавить в проект. */ /* Поддержка JavaScript */ // "allowJs": true, /* Разрешить файлы JavaScript быть частью вашей программы. Используйте опцию `checkJS`, чтобы получить ошибки из этих файлов. */ // "checkJs": true, /* Включить отчеты об ошибках в файлах JavaScript с проверкой типов. */ // "maxNodeModuleJsDepth": 1, /* Укажите максимальную глубину папки, используемую для проверки файлов JavaScript из `node_modules`. Применимо только с `allowJs`. */ /* Испускают */ // "declaration": true, /* Генерировать файлы .d.ts из файлов TypeScript и JavaScript в вашем проекте. */ // "declarationMap": true, /* Создать исходные карты для файлов d. ts. */ // "emitDeclarationOnly": true, /* Выводить только файлы d.ts, а не файлы JavaScript. */ // "sourceMap": true, /* Создать файлы исходной карты для созданных файлов JavaScript. */ // "outFile": "./", /* Укажите файл, который объединяет все выходные данные в один файл JavaScript. Если `declaration` равно true, также обозначает файл, который объединяет все выходные данные .d.ts. */ // "outDir": "./", /* Укажите выходную папку для всех выпущенных файлов. */ // "removeComments": true, /* Отключить вывод комментариев. */ // "noEmit": true, /* Отключить передачу файлов из компиляции. */ // "importHelpers": true, /* Разрешить импортировать вспомогательные функции из tslib один раз для каждого проекта, а не включать их для каждого файла. */ // "importsNotUsedAsValues": "remove", /* Укажите поведение отправки/проверки для импорта, который используется только для типов */ // "downlevelIteration": true, /* Выдать более совместимый, но многословный и менее производительный JavaScript для итерации.
*/ // "sourceRoot": "", /* Укажите корневой путь, по которому отладчики смогут найти справочный исходный код. */ // "mapRoot": "", /* Укажите расположение, в котором отладчик должен размещать файлы карт вместо созданных местоположений. */ // "inlineSourceMap": true, /* Включить файлы исходной карты в созданный JavaScript. */ // "inlineSources": true, /* Включить исходный код в исходные карты внутри сгенерированного JavaScript. */ // "emitBOM": true, /* Генерировать метку порядка байтов UTF-8 (BOM) в начале выходных файлов. */ // "newLine": "crlf", /* Установить символ новой строки для выдачи файлов. */ // "stripInternal": true, /* Отключить генерирующие объявления, которые содержат `@internal` в своих комментариях JSDoc. */ // "noEmitHelpers": true, /* Отключить создание пользовательских вспомогательных функций, таких как `__extends`, в скомпилированном выводе. */ // "noEmitOnError": true, /* Отключить создание файлов, если сообщается об ошибках проверки типов. */ // "preserveConstEnums": true, /* Отключить стирание объявлений `const enum` в сгенерированном коде.
*/ // "declarationDir": "./", /* Укажите выходной каталог для сгенерированных файлов объявлений. */ /* Ограничения взаимодействия */ // "isolatedModules": true, /* Убедитесь, что каждый файл может быть безопасно перенесен, не полагаясь на другие импорты. */ // "allowSyntheticDefaultImports": true, /* Разрешить 'импорт x из y', когда модуль не имеет экспорта по умолчанию. */ "esModuleInterop": true, /* Создать дополнительный JavaScript, чтобы облегчить поддержку импорта модулей CommonJS. Это включает `allowSyntheticDefaultImports` для совместимости типов. */ // "preserveSymlinks": true, /* Отключить преобразование символических ссылок в их реальный путь. Это соответствует тому же флагу в node. */ "forceConsistentCasingInFileNames": true, /* Убедитесь, что регистр правильный при импорте. */ /* Проверка типа */ "strict": true, /* Включить все параметры строгой проверки типов. */ // "noImplicitAny": true, /* Включить сообщения об ошибках для выражений и объявлений с подразумеваемым типом `any`.
. */ // "strictNullChecks": true, /* При проверке типов учитывайте `null` и `undefined`. */ // "strictFunctionTypes": true, /* При назначении функций убедитесь, что параметры и возвращаемые значения совместимы с подтипами. */ // "strictBindCallApply": true, /* Проверяем, что аргументы методов `bind`, `call` и `apply` соответствуют исходной функции. */ // "strictPropertyInitialization": true, /* Проверка свойств класса, которые объявлены, но не заданы в конструкторе. */ // "noImplicitThis": true, /* Включить отчет об ошибках, когда `this` имеет тип `any`. */ // "useUnknownInCatchVariables": true, /* Введите переменные предложения catch как "неизвестные" вместо "любые". */ // "alwaysStrict": true, /* Убедитесь, что 'use strict' всегда генерируется. */ // "noUnusedLocals": true, /* Включить отчет об ошибках, когда локальные переменные не читаются. */ // "noUnusedParameters": true, /* Выдать ошибку, если параметр функции не прочитан */ // "exactOptionalPropertyTypes": true, /* Интерпретировать необязательные типы свойств так, как они написаны, а не добавлять 'undefined'.
*/ // "noImplicitReturns": true, /* Включить отчеты об ошибках для кодовых путей, которые не возвращаются явным образом в функции. */ // "noFallthroughCasesInSwitch": true, /* Включить отчеты об ошибках для аварийных случаев в операторах switch. */ // "noUncheckedIndexedAccess": true, /* Включить 'undefined' в результаты подписи индекса */ // "noImplicitOverride": true, /* Убедитесь, что переопределяющие члены в производных классах помечены модификатором переопределения. */ // "noPropertyAccessFromIndexSignature": true, /* Принуждает использовать индексированные методы доступа для ключей, объявленных с использованием индексированного типа */ // "allowUnusedLabels": true, /* Отключить сообщения об ошибках для неиспользуемых меток. */ // "allowUnreachableCode": true, /* Отключить сообщения об ошибках для недостижимого кода. */ /* Полнота */ // "skipDefaultLibCheck": true, /* Пропустить файлы проверки типов .d.ts, входящие в состав TypeScript. */ "skipLibCheck": true /* Пропустить проверку всех файлов .
d.ts. */ }} 93.0.0" } }
Вы должны знать об использовании этой команды
node --loader ts-node/esm .\index.ts
Устранение неполадок с расширением виртуальной машины Windows — виртуальные машины Azure
- Статья
- 7 минут на чтение
Обзор шаблонов Azure Resource Manager
Шаблоны Azure Resource Manager позволяют декларативно указывать инфраструктуру Azure IaaS на языке JSON, определяя зависимости между ресурсами.
См. Создание шаблонов расширений, чтобы узнать больше о создании шаблонов для использования расширений.
В этой статье мы узнаем об устранении некоторых распространенных сбоев расширения виртуальной машины.
Шаблоны Azure Resource Manager можно выполнять из Azure PowerShell. После выполнения шаблона состояние расширения можно просмотреть в Azure Resource Explorer или в инструментах командной строки.
Вот пример:
Azure PowerShell:
Get-AzVM -ResourceGroupName $RGName -Name $vmName -Status
Вот пример вывода:
Расширения: { "ExtensionType": "Microsoft.Compute.CustomScriptExtension", "Имя": "myCustomScriptExtension", "Подстатусы": [ { "Код": "СтатусКомпонента/StdOut/успешно", "DisplayStatus": "Инициализация прошла успешно", "Уровень": "Информация", "Message": " Каталог: C:\\temp\\n\\n\\nMode LastWriteTime Длина Имя \\n---- ------------- ------ ---- \\n-a--- 9/1/2015 2:03 11 test.txt \\n\\n", "Время": ноль }, { "Код": "СтатусКомпонента/StdErr/успешно", "DisplayStatus": "Инициализация прошла успешно", "Уровень": "Информация", "Сообщение": "", "Время": ноль } ] }
Устранение неполадок при сбоях расширения
Убедитесь, что агент виртуальной машины запущен и готов к работе
Агент виртуальной машины требуется для управления, установки и выполнения расширений. Если агент виртуальной машины не запущен или не может сообщить о состоянии готовности на платформу Azure, расширения не будут работать правильно.
Для устранения неполадок агента виртуальной машины см. следующие страницы:
- Устранение неполадок гостевого агента Windows Azure для виртуальной машины Windows
- Устранение неполадок агента Azure Linux для виртуальной машины Linux
Найдите руководство по устранению неполадок для конкретного расширения
Для некоторых расширений есть специальная страница с описанием способов устранения неполадок. Список этих расширений и страниц можно найти в разделе Устранение неполадок с расширениями. .
Просмотр статуса расширения
Как объяснялось выше, статус расширения можно узнать, запустив командлет PowerShell:
Get-AzVM -ResourceGroupName $RGName -Name $vmName -Status
или команду CLI:
az vm extension show -g <имя RG> --vm-name <имя VM> --name <имя расширения>
или на портале Azure, перейдя в блейд-машину/Настройки/Расширения. Затем вы можете нажать на расширение и проверить его статус и сообщение.
Повторно запустите расширение на ВМ
Если вы запускаете сценарии на виртуальной машине с помощью Custom Script Extension, вы иногда можете столкнуться с ошибкой, когда виртуальная машина была создана успешно, но сценарий не выполнен. В этих условиях рекомендуемым способом устранения этой ошибки является удаление расширения и повторный запуск шаблона. Примечание. В будущем эта функция будет расширена, чтобы исключить необходимость удаления расширения.
Удалить расширение из Azure PowerShell
Remove-AzVMExtension -ResourceGroupName $RGName -VMName $vmName -Name "myCustomScriptExtension"
После удаления расширения шаблон можно повторно выполнить для запуска сценариев на виртуальной машине.
Инициировать новый GoalState для виртуальной машины
Вы можете заметить, что расширение не было выполнено или не может быть выполнено из-за отсутствия «Генератора сертификатов Windows Azure CRP» (этот сертификат используется для защиты транспорта защищенные настройки расширения). Этот сертификат будет автоматически восстановлен при перезапуске гостевого агента Windows изнутри виртуальной машины:
- Откройте диспетчер задач
- Перейти на вкладку «Сведения»
- Найдите процесс WindowsAzureGuestAgent.exe
- Щелкните правой кнопкой мыши и выберите «Завершить задачу». Процесс будет автоматически перезапущен
Вы также можете инициировать новое состояние цели для виртуальной машины, выполнив «Повторное применение виртуальной машины». VM Reapply — это API, представленный в 2020 году для повторного применения состояния виртуальной машины. Мы рекомендуем делать это в то время, когда вы можете допустить короткое время простоя виртуальной машины. Хотя повторное применение само по себе не приводит к перезагрузке виртуальной машины, и в подавляющем большинстве случаев вызов повторного применения не приведет к перезагрузке виртуальной машины, существует очень небольшой риск того, что какое-либо другое ожидающее обновление модели виртуальной машины будет применено, когда повторное применение активирует новое целевое состояние. и это другое изменение может потребовать перезагрузки.
Портал Azure:
На портале выберите виртуальную машину и на левой панели в разделе Поддержка + устранение неполадок выберите Повторное развертывание + повторное применение , затем выберите Повторно применить .
Azure PowerShell (замените имя RG и имя виртуальной машины своими значениями) :
Set-AzVM -ResourceGroupName <имя RG> -Name <имя VM> -Reapply
Azure CLI (замените имя RG и имя виртуальной машины своими значениями) :
az vm reapply -g <имя RG> -n <имя VM>
Если «Повторное применение виртуальной машины» не сработало, вы можете добавить новый пустой диск данных к виртуальной машине с портала управления Azure, а затем удалить его позже, когда сертификат будет снова добавлен.
Просмотрите журналы расширения внутри виртуальной машины.
Если предыдущие шаги не помогли и ваше расширение все еще находится в состоянии сбоя, следующим шагом будет просмотр его журналов внутри виртуальной машины.
На виртуальной машине Windows журналы расширений обычно находятся в папке
C:\WindowsAzure\Logs\Plugins.
И файлы настроек расширения и состояния будут в
C:\Packages\Plugins
На виртуальной машине Linux журналы расширений обычно находятся в папке
/var/log/azure/.
И файлы настроек расширения и состояния будут в
/var/lib/waagent/
Каждое расширение отличается, но обычно они следуют схожим принципам:
Пакеты расширений и двоичные файлы загружаются на виртуальную машину (например, «/var/lib/waagent/custom-script/download/1» для Linux или «C:\Packages\Plugins\Microsoft.Compute.CustomScriptExtension\1.10.12\Downloads\0» для Windows).
Их конфигурация и параметры передаются с платформы Azure в обработчик расширений через агент виртуальной машины (например, «/var/lib/waagent/Microsoft.Azure.Extensions.CustomScript-2.1. 3/config» для Linux или «C:\Packages\Plugins\Microsoft.Compute.CustomScriptExtension\1.10.12\RuntimeSettings» для Windows)
Обработчики расширений внутри виртуальной машины записывают в файл состояния (например, «/var/lib/waagent/Microsoft.Azure.Extensions.CustomScript-2.1.3/status/1.status» для Linux или «C:\Packages\Plugins\Microsoft.Compute.CustomScriptExtension\1.10.12\ Status» для Windows), о котором затем будет сообщено платформе Azure. Этот статус сообщается через PowerShell, интерфейс командной строки или в колонке расширения виртуальной машины на портале Azure.
Они также ведут подробные журналы своего выполнения (например, «/var/log/azure/custom-script/handler.log» для Linux или «C:\WindowsAzure\Logs\Plugins\Microsoft.Compute.CustomScriptExtension\1.10.12\CustomScriptHandler.log» для Windows).
Если виртуальная машина воссоздана из существующей виртуальной машины
Может случиться так, что вы создаете виртуальную машину Azure на основе специализированного диска, полученного от другой виртуальной машины Azure. В этом случае возможно, что старая виртуальная машина содержала расширения, поэтому в ней остались двоичные файлы, журналы и файлы состояния. Новая модель виртуальной машины не будет знать о состояниях расширений предыдущей виртуальной машины и может сообщать о неправильном состоянии этих расширений. Мы настоятельно рекомендуем вам удалить расширения из старой виртуальной машины перед созданием новой, а затем переустановить эти расширения после создания новой виртуальной машины.
То же самое может произойти при создании обобщенного образа из существующей виртуальной машины Azure. Мы предлагаем вам удалить расширения, чтобы избежать несогласованного состояния расширений.
Известные проблемы
PowerShell не распознается как внутренняя или внешняя команда
Вы заметили следующие записи об ошибках в выходных данных расширения RunCommand:
RunCommandExtension не удалось с «powershell» не распознается как внутренняя или внешняя команда , "
Analysis
Расширения запускаются под учетной записью локальной системы, поэтому вполне возможно, что powershell. exe работает нормально, когда вы подключаетесь к виртуальной машине по RDP, но не работает при запуске с помощью RunCommand.
Решение
- Убедитесь, что PowerShell правильно указан в переменной среды PATH:
- Открыть панель управления
- Система и безопасность
- Система
- Вкладка «Дополнительно» -> «Переменные среды»
- В разделе «Системные переменные» нажмите «Изменить» и убедитесь, что PowerShell находится в переменной среды PATH (обычно: «C:\Windows\System32\WindowsPowerShell\v1.0»)
- Перезагрузите виртуальную машину или перезапустите службу WindowsAzureGuestAgent, затем повторите команду «Выполнить».
Команда не распознана как внутренняя или внешняя команда
В файле C:\WindowsAzure\Logs\Plugins
Ошибка выполнения: '' не распознается как внутренняя или внешняя команда, исполняемая программа или пакетный файл. ![]()
Analysis
Расширения запускаются под учетной записью локальной системы, поэтому вполне возможно, что powershell.exe работает нормально, когда вы подключаетесь к виртуальной машине по RDP, но не работает при запуске с помощью RunCommand.
Решение
- Откройте командную строку в виртуальной машине и выполните команду, чтобы воспроизвести ошибку. Агент виртуальной машины использует администратор cmd.exe, и у вас может быть предварительно настроенная команда для выполнения при каждом запуске cmd.
- Также возможно, что ваша переменная PATH неправильно сконфигурирована, но это будет зависеть от команды, с которой возникла проблема.
VMAccessAgent завершается со сбоем из-за невозможности обновления параметров подключения к удаленному рабочему столу для учетной записи администратора. Ошибка: System.Runtime.InteropServices.COMException (0x800706D9).): в сопоставителе конечных точек больше нет доступных конечных точек.

В статусе расширения вы видите следующее:
Тип Microsoft.Compute.VMAccessAgent Версия 2.4.8 Статус Подготовка не удалась Уровень статуса Ошибка Сообщение о состоянии Не удается обновить параметры подключения к удаленному рабочему столу для учетной записи администратора. Ошибка: System.Runtime.InteropServices.COMException (0x800706D9): в сопоставителе конечных точек больше нет доступных конечных точек. (Исключение из HRESULT: 0x800706D9) в NetFwTypeLib.INetFwRules.GetEnumerator() в Microsoft.WindowsAzure.GuestAgent.Plugins.JsonExtensions.VMAccess.RemoteDesktopManager.EnableRemoteDesktopFirewallRules() в Microsoft.WindowsAzure.GuestAgent.Plugins.JsonExtensions.VMAccess.RemoteDesktopManager.EnableRemoteDesktop() в
Анализ
Эта ошибка может произойти, если служба брандмауэра Windows не запущена.
Решение
Убедитесь, что служба брандмауэра Windows включена и работает. Если это не так, включите и запустите его, а затем попробуйте еще раз запустить VMAccessAgent.