Невозможно запустить процесс так как не указано имя файла

Обновлено: 03.07.2024

«Ошибка 1058: Служба не может быть запущена либо потому, что она отключена, либо потому, что с ней не связаны включенные устройства».

«Произошла системная ошибка 1058. Невозможно запустить службу».

Преимущественно ошибка 1058 высвечивается по из-за непредвиденного прекращения работы службы. Причиной такому поведению становится либо внутренний конфликт, либо некорректные изменения настроек. Важно помнить, что практически все службы взаимозависимы, изменение параметров работы одной из них, может вызвать целый ряд сбоев в других сервисах. Часто фигурирующая служба «Обновления Windows» требует доступ к другим сервисам: «Модуль запуска процессов DCOM сервера», «Сопоставитель конечных точек RPC». Неправильная работа любого из них приведет к появлению ошибки в связанных с ними процессах. Решением будет проверка всех зависимостей службы, в которой появляется ошибка 1058, а также анализ настроек основного сервиса.

1) Проверить зависимости

Первым и самым эффективным способом исправления будет ручной поиск проблемных служб.

Ошибка службы 1058

Совет! Та служба, которая стала виновником проблемы, тоже может быть неактивна из-за другого сервиса. Если ее не удается запустить, стоит так же само перейти на вкладку «Зависимости» и проверить, что каждая из перечисленных здесь работает правильно.

2) Запустить через PowerShell или редактор реестра

Альтернативные способы запуска тоже могут сработать, особенно в случаях, когда все зависимости проверены и они работают нормально.

Как включить службу через реестр:

  1. Жмем клавиши Win + R и в строку выполнить вставляем regedit, затем кликаем по кнопке «Ок».
  2. Открываем каталоги в следующем порядке HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services.
  3. Находим название службы из списка и изменяем значение для нее на 2.
  4. Дважды кликаем по DependOnService и записываем кодовые имена зависимых служб.
  5. Открываем каждый из указанных там ключей и устанавливаем ему значение 2.
  6. Перезагружаем компьютер.

Ошибка службы 1058

Чтобы через PowerShell запустить службу, достаточно ввести команду net start имя_службы, где имя_службы – название сервиса.

По опыту, должно помочь включение службы, от которой зависит проблемный сервис, связанный с ошибкой 1058. Иногда удается обойти проблему изменим подход, например, выбрав реестр. На сегодня это все, что мы можем предложить по данной ошибке.

не запускаются exe файлы

В большинстве случаев источником проблемы служит вирусная активность: проблемные файлы заражены или повреждён системный реестр Windows. Иногда причиной проблемы может быть некорректная работа встроенного в ОС брандмауэра или сбой «Проводника». Рассмотрим решение каждой из проблем по порядку.

Способ 1: Восстановление ассоциаций файлов

Нередко зловредное ПО атакует системный реестр, что приводит к разнообразным сбоям и ошибкам. В случае рассматриваемой нами проблемы вирус повредил ассоциации файлов, вследствие чего система попросту не способна открывать EXE-файлы. Восстановить корректные ассоциации можно следующим образом:

    Откройте меню «Пуск», напечатайте в строке поиска regedit и нажмите Enter. Затем щёлкните правой кнопкой мыши по найденному файлу и выберите вариант «Запуск от имени администратора».

Открыть системный реестр Windows для решения проблем с EXE-файлами

Открыть ассоциацию расширения для решения проблем с EXE-файлами

Изменить ассоциацию в системном реестре Windows для решения проблем с EXE-файлами

Изменить настройки открытия в системном реестре Windows для решения проблем с EXE-файлами

Данный метод помогает в большинстве случаев, но если проблема всё ещё наблюдается, читайте далее.

Способ 2: Отключение брандмауэра Windows

Иногда причиной, по которой не запускаются EXE-файлы, может быть встроенный в Виндовс файерволл, и отключение данного компонента избавит вас от проблем с запуском файлов этого типа. Мы уже рассматривали процедуру для Windows 7 и более новых версий ОС, ссылки на подробные материалы представлены ниже.

Otklyuchenie-brandmaue`ra-okno-vklyucheniya-i-otklyucheniya-Brandmaue`ra-Windows-v-Windows-7

Открыть панель управления Windows для решения проблем с запуском EXE-файлов

Войти в настройки звука на панели управления Windows для решения проблем с запуском EXE-файлов

Изменить звуковую схему Windows для решения проблем с запуском EXE-файлов

Войти в настройки аккаунтов на панели управления Windows для решения проблем с запуском EXE-файлов

Настроить контроль аккаунтов для решения проблем с запуском EXE-файлов

Отключить уведомления аккаунта для решения проблем с запуском EXE-файлов

Описанная последовательность действий выглядит необычно, но она доказала свою эффективность.

Способ 4: Устранение вирусного заражения

Чаще всего EXE-файлы отказываются корректно работать из-за наличия в системе вредоносного ПО. Способы обнаружения и устранения угрозы чрезвычайно разнообразны, и описывать их все не представляется возможным, однако наиболее простые и эффективные мы уже рассматривали.

Утилита AVZ как пример программы для борьбы с вирусами

Заключение

Как видим, наиболее распространённая причина сбоев в работе EXE-файлов – вирусное заражение, потому мы хотим напомнить вам о важности наличия в системе защитного ПО.

Закрыть

Мы рады, что смогли помочь Вам в решении проблемы.

Отблагодарите автора, поделитесь статьей в социальных сетях.

Закрыть

Опишите, что у вас не получилось. Наши специалисты постараются ответить максимально быстро.

Вот что я получаю, когда создаю свой тестовый проект:

VS 11 Unit Testing Unexpected Error

При этом я не могу запускать свои тесты, так как VS не обнаруживает их.

Я знаю, что VS 11 находится в стадии бета-тестирования, но раньше он работал .

Я уже перезапустил VS, но и после этого он не работал.

Есть идеи о том, что происходит? Будет ли это где-то ошибка?

Примечание: единственное, что я думаю, связано с удалением VS 2010, которое я сделал некоторое время назад. Возможно, он удалил некоторые необходимые биты. Бьет меня .

ИЗМЕНИТЬ 1
Я только что отремонтировал VS 11 Beta Ultimate. Он попросил перезагрузить компьютер один раз, и я сделал это. Затем он продолжил ремонт, но проработал более 12 часов. Просто убил процесс ремонта.

Тем временем я удалил Visual Studio 11 Express для Интернета. У меня это было бок о бок с VS 11 Beta Ultimate.

Как ни странно, он снова начал работать после того, как я сделал и то, и другое. Поэтому я не знаю наверняка, что решило проблему: остановленный процесс восстановления или удаление VS 11 Express for Web.

ИЗМЕНИТЬ 2
К моему разочарованию, теперь я вижу, что это временное явление. После перезапуска VS 11 Ultimate Beta проблема не исчезнет. :(

ИЗМЕНИТЬ 3
Я заполнил Connect ticket в Microsoft, но они закрыли его как невоспроизводимый.

Я сделал вторую попытку с вариантом восстановления VS 11 Ultimate Beta, и на этот раз все закончилось так, как ожидалось. Чтобы изолировать проблему, я создал новый тестовый проект с файлом по умолчанию UnitTest1.cs в новом Решении, и после его создания я получаю тот же экран с ошибкой, как показано выше. Так что вариант ремонта проблему не решил. Похоже, в моей системе чего-то не хватает.

Это информация из окна VS About:

ИЗМЕНИТЬ 5
С помощью Aseem Бансала (сотрудник Microsoft) я наконец получил логи и увидел следующее исключение:

Работа с процессами Powershell Start-Process и управление ими на примерах

Процессы - это один из основных компонентов Windows и чаще всего мы работаем с ними через Task Manager (диспетчер задач), но эта возможность становится весомее если мы используем команды по управлению процессами в Powershell. Основные команды по управлению запущенными задачами можно увидеть так:

Мы получим следующий вывод:

  • Debug-Process - возможность мониторинга и отладки процессов. Для его работы нужно загрузить дополнительное ПО.
  • Get-Process - получение в Powershell списка процессов.
  • Start-Process - запуск процессов.
  • Stop-Process - убивает (завершает) процесс.
  • Wait-Process - ожидание окончания процесса.

Таких команд и вариантов их использования очень много. Например мы можем работать с процессами через WMI или использовать их в связке с мониторингом сетевых подключений через Get-NetTCPConnection.

Получив список процессов в Powershell можно увидеть что значения отображаются в Кб:

Изменить это можно через выражения:

В скрипте выше будут выводиться 5 свойств, но их намного больше. Посмотреть возможные свойства можно так:

Powershell свойства процессов

Каждое это свойство можно вызвать так:

Можно вызвать все свойства всех процессов или по одному выбранному:

Методы полезны тем, что ими можно воспользоваться не прибегая к дополнительным командам. Для примера так мы можем остановить процесс notepad (блокнот) тремя разными способами:

При получении списка процессов есть параметр, который выводит путь откуда запущен процесс и версию файла:

В варианте выше у нас будет много не критичных ошибок:

  • Get-Process : Не удалось перечислить информацию о версиях файла для процесса "svchost".
  • Get-Process : Cannot enumerate the file version information of the "csrss" process.

Связано это с тем, что не все процессы в Powershell имеют версии и выполняется запрос несуществующего свойства. Этого можно избежать двумя путями, первый - это указать параметр, который будет игнорировать эти ошибки:

Или запросить информацию о конкретном процессе:

powershell процессы

Ключ FileVersionInfo это три свойства: Product, FileVersion и Path каждый из которых можно вывести отдельно. Получим процессы в Powershell со свойством времени запуска и отсортируем их:

Если нужно выяснить когда и кто запустил процесс нужно добавить параметр IncludeUserName. В моем примере это два процесса:

Эти же команды можно выполнять удаленно. Во всех командах Powershell, где есть ключ ComputerName можно указать минимум один удаленный компьютер:

Выполняя удаленную команду вы можете получить две ошибки. Первую, если у вас не настроена возможность удаленного управления в Powershell. И вторая, если вы укажете ключ -IncludeUserName, почему-то он не работает совместно с ComputerName:

  • Get-Process : Parameter set cannot be resolved using the specified named parameters.

Запуск процессов с Powershell Start-Process

На примере запуска блокнота команда выполняется так:

Если исполняемый файл находится в другом месте нужно указать путь:

Если в программа может принимать аргументы их так же можно добавить:

По умолчанию окно процесса разворачивается. Если хотите запустить свернутым, то добавьте ключ WindowStyle:

Ключ WindowStyle принимает 4 значения:

  • minimized - свернутый вариант.
  • hidden - скрытый режим.
  • normal - обычный.
  • maximized - полностью развернутый.

Добавив ключ NoNewWindow, в случае с tracert, команда выполнится в текущем окне:

  • RedirectStandardOutput - перенаправляет вывод
  • RedirectStandardError - перенаправляет ошибки
  • RedirectStandardInput - перенаправляет ввод

Воспользоваться этими ключами можно так:

Если нужно открыть файл в определенной программе, то это делается так:

Отмечу, что ни одна команда PS не позволяет запускать процессы в интерактивном сеансе пользователя (например открыть пользователю Excel). Если вы хотите использовать такой метод, то вам нужно использовать psexec от SysInternals либо помещать задачи в планировщик и выполнять оттуда.

Пример по работе с процессами в Powershell

Директории, откуда работает основная часть программ относятся к Windows и Program Files. Работа программ из Application Data, например, всегда подозрительна. Мы можем мониторить запуск процессов из этой директории. Нам нужно объявить переменные с путями, которые не будут вызывать подозрений и проверять путь процессов на вхождение:

process powershell

Второй пример выполнения - это запуск всех файлов из папки. Обычно скрипты применяются через групповые политики в момент входа пользователя. Если таких скриптов 10, то мы можем поместить их в определенную папку и запускать из планировщика задач указывая только директорию и расширение запускаемого файла и перенаправлять ошибки в индивидуальный файл:

Обратите внимание, что все файлы с ошибками будут сохраняться с именем компьютеров на котором запущен скрипт. В каждом из скриптов я так же ставил знак *, это связано не с точным вхождением. Например в первом случае после пути C:\Users* мы ожидаем еще символы и установив звездочку мы это указали. В случае Get-ChildItem ситуация похожая, но более подробно мы обсуждали в статье поиск файлов в Powershell.

Мы можем использовать поиск процессов не относящихся к производителям ПО, которые мы устанавливали на ПК пользователей. Для этого есть свойство Company. Не все объекты имеют имя компании, они связаны с задачами операционной системы:

powershell список процессов

По умолчанию мы получаем данные по CPU в секундах, но следующий скрипт вернет процент использования:

Читайте также: