Вопрос или проблема
Я пытаюсь запустить sconfig, но получаю ошибку:
Ошибка CScript: Не удалось выполнить Windows Script Host. (Система не может найти указанный файл.)
ОШИБКА: Система не смогла найти указанный ключ реестра или значение.
Запуск Server Core 2012 R2 на ПК Dell
У меня была такая же проблема. Установили ли вы систему на другом языке, кроме en-US?
Мне пришлось открыть его из c:\windows\system32\de-DE\
.
Кажется, это повторяющаяся проблема с установками на других языках. Например, у меня испанская версия, та же ошибка: не может найти sconfig.vbs, но ищет в этом пути: \windows\system32\en-US\
Трюк:
Перейдите в папку вашего языка, например \windows\system32\es-ES\ и скопируйте sconfig.vbs в папку \en-US\
Теперь sconfig должен работать из PowerShell
Комментарий:
Вот почему я не люблю устанавливать на других языках, не могу поверить, что MS такие ленивые. Старая проблема была с копированием Active Directory с Windows Server 2003 на английском на другой 2003, но на испанском — никогда не работало. Но с английского на английский было идеально.
Перестроение WMI Repository
Для Windows Vista, Windows 7, Windows Server 2008 и Windows Server 2008 R2 вы можете выполнить
winmgmt /verifyrepository
из командной строки.
Для более старых ОС, таких как Windows XP и Windows Server 2003, выполните: инструмент WmiDiag с параметром checkconsistency. Например: WmiDiag checkconsistency
Если репозиторий оказался несогласованным:
a. Для Vista и новее, выполните из командной строки с повышенными привилегиями:
Winmgmt /salvagerepository
Обратите внимание, что эта команда возьмет содержимое несогласованного репозитория и объединит его в перестроенный репозиторий, если оно читаемо
Если вышеуказанное не сработает, выполните:
Winmgmt /resetrepository
Обратите внимание, что это сбросит репозиторий в исходное состояние, каким он был при первой установке ОС
Ответ или решение
Устранение ошибки "Sconfig не найден" на Windows Server Core 2012 R2 – Руководство для IT-экспертов
Ситуация: При попытке запуска утилиты "sconfig" на сервере Windows Server Core 2012 R2 возникает ошибка:
- "CScript Error: Execution of the Windows Script Host failed. (The system cannot find the file specified.)"
- "ERROR: The system was unable to find the specified registry key or value."
Очевидно, эта ошибка обусловлена языковыми настройками системы, что подтверждают упоминания о проблемах с различными языковыми версиями Windows.
Анализ и возможные причины:
-
Локализация системы
Если Windows Server был установлен не на английском языке (en-US), возможно, системные утилиты, такие как "sconfig.vbs", находятся в директории текущей языковой локализации, например,c:\windows\system32\de-DE\
для немецкого илиc:\windows\system32\es-ES\
для испанского. -
Отсутствие/неправильная привязка пути
Система может ожидать, что "sconfig.vbs" будет находиться в директорииc:\windows\system32\en-US\
, тогда как на самом деле файл расположен в директории текущей локализации.
Решение проблемы:
-
Копирование файла "sconfig.vbs"
- Найдите файл "sconfig.vbs" в директории локализации вашей системы. Пример:
c:\windows\system32\de-DE\
для немецкой версии. - Скопируйте "sconfig.vbs" в директорию
c:\windows\system32\en-US\
. - Попробуйте запустить "sconfig" снова из командной строки или PowerShell.
- Найдите файл "sconfig.vbs" в директории локализации вашей системы. Пример:
-
Проверка и восстановление репозитория WMI
Если после переноса проблема не решена, возможно, репозиторий WMI поврежден. Проделайте следующие шаги:- Запустите командную строку от имени администратора.
- Выполните команду:
winmgmt /verifyrepository
. Это проверит целостность репозитория. - Если он окажется поврежденным, попробуйте восстановить его командой:
Winmgmt /salvagerepository
. - Если это не поможет, сбросьте репозиторий:
Winmgmt /resetrepository
.
Заключение
Ошибка с "sconfig не найден" в Windows Server Core 2012 R2 часто связана с неправильной локализацией. Решение заключается в проверке расположения "sconfig.vbs" и возможном восстановлении WMI-репозитория. Настоятельно рекомендуется устанавливать системы с языком по умолчанию, чтобы избежать подобных проблем в будущем.