17 команд командной строки windows (cmd), которые вы должны знать

Как запустить командный файл в Windows 10

В Windows 10 вы можете запустить командный файл как минимум тремя способами. Вы можете запустить пакет по требованию, используя проводник или командную строку. Вы можете создать запланированное задание с помощью планировщика заданий. Или вы можете поместить скрипт в папку «Автозагрузка», чтобы запускать его каждый раз при входе в устройство.

Запуск пакетного файла по требованию

Если вам нужно запустить скрипт по требованию, вы можете использовать проводник или командную строку.

Проводник

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

  1. Откройте проводник.
  2. Найдите папку со сценарием.
  3. Дважды щелкните командный файл, чтобы запустить его.
  4. (Необязательно) Если вы выполняете команду, требующую прав администратора, вам нужно запустить сценарий от имени администратора, щелкнув правой кнопкой мыши пакетный файл и выбрав опцию Запуск от имени администратора.

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

Командная строка

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

  1. Откройте командную строку от имени администратора.
  2. Введите путь и название командного файла и нажмите Enter:
    C:\PATH\TO\FOLDER\BATCH-NAME.bat

    Например, следующая команда запускает пакетный файл, расположенный в пользовательской папке «batch» внутри папки «Downloads»:

    C:\Users\user\Documents\scripts\first_batch.bat

После того, как вы выполните эти шаги, выходные данные будут отображаться на экране, даже если скрипт содержит команду «PAUSE».

Запуск пакетного файла по расписанию

Чтобы запланировать запуск пакетного файла в Windows 10, вы можете использовать планировщик задач, выполнив следующие действия:

  1. Откройте Пуск.
  2. Введите планировщик заданий и щелкните по верхнему результату, чтобы открыть приложение.
  3. Щелкните правой кнопкой мыши ветку «Библиотека планировщика заданий» и выберите опцию Создать папку….
  4. Введите имя для папки – например, MyScripts.

    Необязательно создавать папку, но рекомендуется организовать ваши задачи.

  5. Нажмите кнопку ОК.
  6. Щелкните правой кнопкой мыши папку MyScripts.
  7. Выберите опцию Создать простую задачу.
  8. В поле «Имя» введите краткое описательное имя для задачи – например, SystemInfoBatch.
  9. (Необязательно) В поле «Описание» создайте описание для задачи.
  10. Нажмите кнопку Далее.
  11. Выберите опцию Ежемесячно.

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

  12. Нажмите кнопку Далее.
  13. Используя настройку «Начать», укажите день и время запуска задачи.
  14. Используйте выпадающее меню «Месяцы», чтобы выбрать месяцы года, в которые вы хотите выполнить задачу.
  15. Используйте выпадающее меню «Дни» или «В:», чтобы указать дни, в которые будет выполняться задание.
  16. Нажмите кнопку Далее.
  17. Выберите опцию Запустить программу, чтобы запустить пакетный файл.
  18. В поле «Программа/скрипт» укажите путь к пакетному файлу.
  19. Нажмите кнопку Готово.

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

Запуск пакетных файлов при запуске

В качестве альтернативы, если вы хотите запускать пакетный файл каждый раз, когда вы входите в свое устройство, вместо использования планировщика заданий, вы можете сохранить сценарий в папке «автозагрузка».

Чтобы запустить скрипт при запуске, используйте следующие простые шаги:

  1. Откройте проводник.
  2. Найдите папку с командным файлом.
  3. Щелкните правой кнопкой мыши файл и выберите параметр Копировать.
  4. Используйте комбинацию Win + R, чтобы открыть окно «Выполнить»
  5. Введите следующую команду: shell:startup
  6. Нажмите Вставить на вкладке «Главная» в папке «Автозагрузка». (Или вы можете нажать кнопку «Вставить ярлык», чтобы создать ярлык для командного файла.)
  7. Выйдите из учетной записи Windows 10.
  8. Войдите в аккаунт.

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

Мы ориентируем это руководство на Windows 10, но возможность использовать пакетные файлы существует давно, а это означает, что вы можете обратиться к этим инструкциям, если вы всё ещё используете более старую версию, включая Windows 8.1 или Windows 7.

Запускаем «Командную строку» с административными правами

Способ 1: Меню «Пуск»

Во всех актуальных и даже морально устаревших версиях Виндовс доступ к большинству стандартных инструментов и элементов системы можно получить через меню «Пуск». В «десятке» же данный раздел ОС был дополнен контекстным меню, благодаря которому наша сегодняшняя задача решается буквально в несколько кликов.

Способ 2: Поиск

Как известно, в десятой версии Windows была полностью переработана и качественно улучшена система поиска – сейчас она действительно удобна в использовании и позволяет легко находить не только нужные файлы, но и различные программные компоненты. Следовательно, воспользовавшись поиском, можно вызвать в том числе и «Командную строку».

  1. Нажмите по кнопке поиска на панели задач или воспользуйтесь комбинацией горячих клавиш «WIN+S», вызывающей аналогичный раздел ОС.

Введите в поисковую строку запрос «cmd» без кавычек (или начните вводить «Командная строка»).

Увидев в перечне результатов интересующий нас компонент операционной системы, кликните по нему ПКМ и выберите пункт «Запуск от имени администратора»,

после чего «Строка» будет запущена с соответствующими полномочиями.

С помощью встроенного в Виндовс 10 поиска можно буквально в несколько кликов мышки и нажатий по клавиатуре открывать любые другие приложения, как стандартные для системы, так и установленные самим пользователем.

Способ 3: Окно «Выполнить»

Существует и немного более простой вариант запуска «Командной строки» от имени Администратора, чем рассмотренные выше. Заключается он в обращении к системной оснастке «Выполнить» и использовании комбинации горячих клавиш.

Способ 4: Исполняемый файл

«Командная строка» – это обычная программа, следовательно, запустить ее можно точно так же, как и любую другую, главное, знать месторасположение исполняемого файла. Адрес директории, в которой находится cmd, зависит от разрядности операционной системы и выглядит следующим образом:

– для Windows x64 (64 bit) – для Windows x86 (32 bit)

  1. Скопируйте путь, соответствующий разрядности установленной на вашем компьютере Виндовс, откройте системный «Проводник» и вставьте это значение в строку на его верхней панели.

Нажмите «ENTER» на клавиатуре или указывающую вправо стрелку в конце строки, чтобы перейти в нужное расположение.

Пролистайте содержимое директории вниз, пока не увидите там файл с названием «cmd».

Отыскав необходимый файл, кликните по нему правой кнопкой мышки и выберите в контекстном меню пункт «Запуск от имени администратора».

«Командная строка» будет запущена с соответствующими правами доступа.

Создание ярлыка для быстрого доступа

Если вам часто приходится работать с «Командной строкой», да еще и с правами администратора, для более быстрого и удобного доступа рекомендуем создать ярлык этого компонента системы на рабочем столе. Делается это следующим образом:

  1. Повторите шаги 1-3, описанные в предыдущем способе данной статьи.

Кликните ПКМ по исполняемому файлу «cmd» и поочередно выберите в контекстном меню пункты «Отправить» — «Рабочий стол (создать ярлык)».

Перейдите на рабочий стол, найдите созданный там ярлык «Командной строки». Нажмите по нему правой кнопкой мышки и выберите пункт «Свойства».

Во вкладке «Ярлык», которая будет открыта по умолчанию, нажмите по кнопке «Дополнительно».

Во всплывающем окне установите галочку напротив пункта «Запуск от имени администратора» и нажмите «ОК».

С этого момента, если использовать для запуска cmd ранее созданный на рабочем столе ярлык, она будет открываться с правами администратора. Для закрытия окна «Свойств» ярлыка следует нажать «Применить» и «ОК», но не спешите этого делать…

…в окне свойств ярлыка можно также задать комбинацию клавиш для быстрого вызова «Командной строки». Для этого во вкладке «Ярлык» кликните ЛКМ по полю напротив наименования «Быстрый вызов» и нажмите на клавиатуре желаемую комбинацию клавиш, например, «CTRL+ALT+T». Затем нажмите «Применить» и «ОК», чтобы сохранить внесенные изменения и закрыть окно свойств.

Редко используемые, но очень полезные команды

При помощи командной строки можно выполнять различные интересные функции (большинство приведенных ниже команд работает только с правами администратора):

Превращаем ноутбук в Wi-Fi-роутер (включение раздачи интернета с ноутбука или настольного компьютера с Wi-Fi-адаптером)

Для реализации этой затеи нужно поочередно выполнить три несложные команды:

  1. netsh wlan set hostednetwork mode=allow
  2. netsh wlan set hostednetwork mode=allow ssid=MiWiFi key=MiWiFipassword keyUsage=persistent. Вместо MiWiFi и MiWiFipassword можно использовать свои фразы. Первый параметр задает имя беспроводной сети, второй — пароль (должен состоять из 8 символов или более).
  3. netsh wlan start hostednetwork.

Если после выполнения каждой команды вы видите сообщения, аналогичные тем, что приведены на изображении выше, значит, все прошло успешно. Теперь к ноутбуку можно подключиться, например, с телефона так же, как и к обычному Wi-Fi-роутеру.

Удалениям службу Windows (или любую другую) через командную строку

Если попробовать удалить службу через штатное приложение «Службы», то ничего не получится (в нем попросту не предусмотрено такой функции). Однако это бывает необходимым, особенно после установки различных программ, которые устанавливают службы, но «забывают» их удалять при деинсталляции.

  • Запустите программу «Службы», используя команду msc.
  • Найдите в отобразившемся списке службу, которую необходимо удалить, и кликните по ней два раза мышкой:
  • Нас интересует текст в блоке «Имя службы».
  • Теперь вернитесь в окно командной строки и впишите в него команду:

sc delete имя_службы

Подставьте вместо фразы «имя_службы» имя удаляемой службы. Если оно содержит пробелы, как в нашем случае, заключите имя службы в кавычки.

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

shutdown /s /t 60 /f

В данном случае компьютер будет выключен (параметр «/s») через 60 секунд (параметр «/t 60») с принудительным завершением работы всех приложений без предупреждения пользователя (параметр «/f» — обязательный при использовании таймера «/t»).

Вместо выключения компьютера «/s» использовать:

  • l — завершение сеанса (выход из учетной записи пользователя с блокировкой, если для входа требуется пароль).
  • /r — перезагрузка компьютера.
  • /hybrid/s — «отправка» компьютера в сон (параметр «s» использовать обязательно).
  • /h — режим гибернации (или режим максимального энергосбережения, при котором ключевые компоненты компьютера остаются включенными).

Для выключения компьютера, например, через 2 часа следует указывать в параметре «/t» число 7200 (1 час равен 3600 секундам).

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

Выполнение команды всегда можно отменить (если была использована задержка), воспользовавшись:

shutdown /a

Просмотр списка запущенных процессов и завершение работы любого из них. Если по каким-то причинам не удается запустить «Диспетчер задач», но имеется доступ к командной строке, запущенный процесс может быть снят при помощи специальных команд:

Сначала выведем на экран список всех запущенных процессов при помощи команды tasklist:

  • Нас интересует идентификатор «PID» завершаемого процесса. Возьмем для примера PID процесс «NVDisplay.Container.exe» — 1100.
  • Для завершения его работы используем команду taskkill /pid 1100 /f (параметр «/f» необходим для принудительного завершения работы процесса).

Чиним интернет при помощи командной строки. Разнообразные неполадки с сетевыми подключениями можно устранить «одним махом» через командную строку путем сброса настроек TCP/IP (не будем вдаваться в подробности, но если вам интересно, об это можно почитать тут — Netsh Winsock — что это и зачем нужно?.

Для выполнения этой задачи нужно поочередно ввести две команды:

netsh int ip reset

netsh winsock reset

Перезагружаем компьютер для применения изменений.

Остались вопросы, предложения или замечания? Свяжитесь с нами и задайте вопрос.

Применение скрипта VBScript

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

Для начала вам потребуется открыть «Блокнот» любым удобным способом:

через меню «Пуск»;

  • при помощи поисковой строки;
  • путем создания нового текстового документа на Рабочем столе.

Далее в окне программы требуется прописать скрипт следующего формата:

Dim WShell

Set WShell = CreateObject(«WScript.Shell»)

WShell.Run «Browser.exe», 0

Set WShell = Nothing

По аналогии с Командной строкой в нем указывается имя исполняемого файла, но без точного расположения в определенной директории Проводника. В нашем случае это «Browser.exe». Далее текстовый документ нужно сохранить в расширении «.vbs», а затем запустить его двойным кликом левой кнопки мыши. Это позволит открыть указанную программу в скрытом режиме. В то же время нужно отметить, что даже замаскированное приложение будет отображаться в Диспетчере задач.

Работа с файлами и папками из командной строки

Бывают ситуации, когда невозможно запустить стандартный файловый менеджер «Проводник Windows». Например, из-за действия вирусов-блокировщиков или при системных сбоях. В любом случае все, что можно сделать при помощи «Проводника», можно сделать и при помощи командной строки. Начнем с самого простого — просмотра содержимого папок.

Просмотр содержимого папки. При запуске командной строки перед мигающим курсором можно увидеть адрес расположения папки учетной записи на жестком диске. В нашем случае — это «C:Usersvzgn»:

Давайте, выведем на экран список все других объектов (файлов и папок), содержащихся в данной папке. Для этого используйте команду dir:

Объекты, напротив которых написано — это папки, все остальное — файлы (напротив них указан размер в байтах).

Команду dir можно применять вообще папкам, расположенным в вообще любом месте на жестком диске. Для этого после команды следует указать путь до каталога. К примеру, для просмотра содержимого папки «Windows» на диске «C:» следует ввести команду:

dir c:windows

Запомните одно простое правило. Если в именах папок/файлов присутствуют пробелы, их следует писать в двойных («имя папки или файла») кавычках.

Открытие файла из командной строки. Для открытия файла достаточно вписать его полное название вместе с расширением в командную строку. Что не вводить имя файла целиком, используйте клавишу «Tab» (с ее помощью можно поочередно перебирать имена всех объектов в текущей папке).

В нашем случае был открыт файл .pgAdmin4.startup.log при помощи «Блокнота». Если бы это был музыкальный файл, запустился бы аудиопроигрыватель, если DOC/DOCX-файл — редактор «MS Word» и т.д. Таким образом, открытие файла в командной строке равнозначно двойному клику по файлу в «Проводнике Windows».

Переход в другую папку. Для перехода в папку используется команда cd, после которой следует прописать путь к открываемой папке либо просто ее имя (если она расположена в нашем текущем местоположении на жестком диске).

Перейдем в папку «Music». Т.к. она находится в текущем каталоге, достаточно ввести в консоль:

cd music

Теперь наше местоположение изменилось на «C:UsersvzgnMusic».

Давайте, перейдем в какую-нибудь папку, расположенную на другом локальном диске. Это можно сделать несколькими способами, но воспользуемся самым легким для запоминания.

Для начала перейдем в сам локальный диск (изменим наше местоположение). Для этого достаточно использовать (независимо от текущего местоположения) команду e:. Вместо e можно использовать любую другую букву локального диска (или даже флешки, например):

Допустим, нам известно, что на диске «E» существует папка «Install», а в ней — пака «Web». Перейти в нее можно одной командой:

cd e:installweb

Запуск/открытие программы/файлы в другой папке или на другом диске. Запустим программу, расположенную где-нибудь глубоко на диске. Для запуска файла или программы можно просто указать полный путь до него. Текущее местоположение в этом случае не имеет значения. Запустим, например, текстовый редактор «Notepad++» одной командой:

C:»Program Files»Notepad++
otepad++.exe

Обратите внимание, что имя папки «Program Files» взято в кавычки, т.к. в нем присутствует пробел

Создание, удаление и переименование файлов и папок. Из командной строки можно выполнить все эти операции над файлами и папками.

Создание простого текстового файла — copy nul простой_текстовый_файл.txt. Перед названием файла можно указать путь до конечной папки, в которой тот будет создан (если не указать, файл создастся в текущей папке).

Создание папки — mkdir папка. Папка также создается в текущем местоположении.

  • Удаление файла (или нескольких) — del простой_текстовый_файл.txt (если требуется удалить несколько файлов, просто вписываем их имена друг за другом через пробел). Удаляем созданный ранее файл.
  • Удаление папки — rmdir папка. Удаляем созданную ранее папку.

Переименование папки/файла — ren простой_текстовый_файл.txt новое_имя_файла.txt или ren папка новое_имя_папки. Переименуем созданный файл и папку.

Через командную строку можно выполнить и ряд других операций над файлами и папками, включая копирование, перемещение, применение/изменение атрибутов (скрытый, системный, только для чтения и т.д.), слияние и т.д.

Запуск и настройка службы windows из командной строки |

Несмотря на свой примитивный вид и скромные размеры, командная строка предоставляет множество вариаций на тему «А что если… произвести запуск службы из командной строки». Фактически, простому обывателю она понадобится в очень редких случаях, если совсем не понадобится, работа со службами (их запуск или остановка) и то реже (хотя тут скорее уместна команда net stop).

Но, есть множество талантливой молодежи, или просто проницательных людей, которые с огромным удовольствие захотят засунуть свой нос в вашу систему. Конечно, большинство простых обывателей не будет извращаться над собой используя Windows NT или Windows 2000, да и Семерка все чаще наступает на горло «простенькому» ХР, но, командная_строка в мире операционных систем, это все ровно, что таблица умножения в мире финансов.

В Панели управление/Администрирование находится оснастка Службы, которая позволяет управлять рядом сервисов. Двойной щелчок по любой из них позволяет просмотреть ряд параметров:

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

Sc start Имя_Службы – производится запуск службы из командной строки

Sc pause Имя_Службы – приостановка сервиса

Sc continue Имя_Службы – восстановление работы приостановленного сервиса

Sc stop Имя_Службы – полная остановка

Эти команды можно применять и на удаленных машинах. Например, что бы запустить УдаленныйРеестр на машине с адресом 192.168.1.6., надо прописать (вместо IP можно и имя машины прописать, например Mailer):

Хотя, запустить службу из командной строки можно и при использовании утилиту net start, или net stop соответственно (net stop RemoteRegistry)

Что бы настроить тип запуска применяется команда sc config (хотя ее возможности этим не ограничиваются). Синтаксис следующий:

Флаг может принимать три значения:

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

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

В данном примере УдаленныйРеестр грузится под ЛокальнойСлужбой (NT AUTHORITYLocalService), а можно и под системной учетной записью (LocalSystem), но лучше этого не делать:

Если использовать флаг type= interact, то это укажет, что сервис может взаимодействовать с рабочим столом Windows:

тут флаг type= own говорит, что cлужбa выполняется в собственном процессе, если же работа происходит в общем процессе, то применятся флаг type= share. Например:

Используя команду sc qc ИмяСлужбы можно детально просмотреть информацию о ней, в том числе и тип запуска, например:

TYPE : 20 WIN32_SHARE_PROCESS (общий процесс)илиTYPE : 20 WIN32_OWN_PROCESS (собственный процесс)

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

sс config w3svc obj = User password=UserPass — тут w3svc настроена на запуск от имени пользователя User с паролем UserPass. Общий же синтаксис такой:

sс config ИмяCлужбы obj = Пользователь password= пароль — тут Домен — имя домена, где находится учетная запись (не является обязательным). В случае, если системная cлужбa была прежде сконфигурирована под локальную систему, то при перенастройке под учетную запись домена надо использовать флаг type= own:

Операционная система Windows содержит множество лазеек, которые позволяют в нее проникнуть (в том числе и сервер сценариев Windows Script Host), обходя стандартные правила. Не последнюю роль тут играют и системные службы. Например, утилита PsExec позволяет войти в удаленную систему или же запустить приложение от имени Локальной Системы. В процессе создается служба которая работает на обеих машина, она то и оперирует всем процессом связи. Однако, гордые обладатели Семерки, или даже ХР (если были установлены нужные обновления), могут сильно разочароваться. Хотя запуск службы psexecsvc можно произвести и непосредственно из командной строки, система ее просто игнорирует (или запрещает выполнять ее функции). Конечно, если есть голова, то можно создать аналог Psexec (тем более, что алгоритм работы известен), авось прокатит, но, если бы все было так, как в книге пишут…

Спасибо за внимание. Автор блога

Windows

Итак, поговорим о том, как создать файл.txt на компьютерах с операционной системой windows 10, 7 и более ранними, устаревшими, но вполне дееспособными версиями. Друзья, мне кажется, что будет вполне уместным сначала объяснить, что такое текстовый файл с расширением txt, а уж потом переходить к разговору о том, как его создать.

Определение

Файл – это исходный элемент на компьютере, содержащий некоторую информацию. Он имеет имя и расширение. С именем, думаю, всё понятно и объяснять не стоит. Расширение – это продолжение имени, указывающее системе на формат документа и на то, какой программой его открывать. Формат – это специфика информации, которая есть в содержании, то есть текст, графика, таблицы. Текстовый файл в формате txt – это документ, содержащий только чистый текст, без какого-либо форматирования и картинок, открывается который любыми текстовыми редакторами (по умолчанию стандартной программой «Блокнот»), а как его создать в подробностях рассмотрим ниже.

Контекстное меню

Самый простой и распространенный способ создать текстовый файл, которым пользуюсь я, как и большинство пользователей «Винды», содержит следующие шаги:

Текстовый документ готов. Открыть его можно двумя быстрыми щелчками или через соответствующий пункт контекстного меню, которое вызывается правым щелчком мыши на документе.

Папка

Друзья, хотя вышеописанным способом можно создать файл txt в любом месте, но всё-таки давайте я расскажу о том, как это сделать ресурсами конкретной папки:

Как я уже упоминал, текстовый файл по умолчанию открывается программой «Блокнот», но создать документ txt можно и другими текстовыми редакторами, а также переделать из уже имеющихся документов с расширением docx. Получить из элемента doc или docx документ с заданным расширением можно тремя способами:

Кстати, третий способ вполне сгодится не только для изменения расширения у имеющегося документы, но и для создания нового в требуемом формате.

Командная строка

Создать файл txt можно и с помощью приложения cmd.exe. Это не так-то просто и не всегда понятно, а ещё необходимо знать команды. Но всё-таки я расскажу об этом вкратце, может, кому и пригодится. Итак, с помощью командной строки можно создать два вида файлов txt – пустой и заполненный, то есть имеющий содержимое.

Пустой

Чтобы создать пустой файл с расширением txt, посредством командной строки, необходимо для начала её запустить. Сделать это можно несколькими способами, вот самые простые:

Далее, необходимо ввести команду для создания нулевого (пустого) текстового документа, их много, предлагаю вашему вниманию две самые популярные из них:

С текстом

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

Кстати, если вы ищете ответ на вопрос «как создать файл с расширением txt в MS-DOS?», то ознакомьтесь с описанными выше способами, так как они актуальны и для этой операционной системы.

Поиск в локальной сети включенных компьютеров.

В данном примере речь идет о создании командного файла, позволяющего «собрать» список IP-адресов узлов локальной сети, включенных на данный момент времени. Ничего принципиально нового в плане создания командных файлов здесь нет, но тем не менее, задача поиска включенных узлов в локальной сети встречается довольно часто, и решить ее описанными выше способами, с использованием ping.exe и net view удается далеко не всегда, поскольку в современных версиях операционных систем семейства Windows настройки брандмауэров по умолчанию, задают довольно жесткие правила, блокирующие сетевые соединения извне, и ответы на эхо-запрос.

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

При любой передаче пакетов IP-протокола с данного компьютера на IP-адрес другого сетевого устройства в локальной сети, программные средства сетевых протоколов выполняют процедуру определения физического адреса сетевого адаптера получателя ( MAC-адрес получателя).

Всем сетевым устройствам отправляется специальный широковещательный запрос ( запрос который будет принят всеми компьютерами данной подсети), означающий «чей MAC – адрес соответствует такому-то IP-адресу». Если какое-либо сетевое устройство опознало свой собственный IP-адрес, оно отправит ARP-ответ, содержащий соответствующий MAC-адрес, который будет сохранен в специальной таблице соответствия адресов IP и MAC, хранящейся в оперативной памяти компьютера, отправившего ARP-запрос.

Запись информации в данную таблицу выполняется только при необходимости передачи любых данных по протоколу IP, что можно инициировать, например, пингованием опрашиваемого устройства. Даже если настройками брандмауэра полностью закрыты все соединения извне и блокируется протокол ICMP ( устройство не «пингуется» ) , в буферной памяти сервиса ARP будет присутствовать запись соответствия IP и MAC, если устройство было подключено к локальной сети и участвовало в процедуре разрешения адреса .

Для просмотра содержимого ARP-кэш можно воспользоваться командой

arp -a — отобразить все записи в таблице ARP

Пример отображения таблицы ARP:

Интерфейс: 192.168.0.29 — 0xa

адрес в Интернете Физический адрес Тип

192.168.0.1 00-1e-13-d6-80-00 динамический

192.168.0.3 60-eb-69-08-18-d2 динамический

. . .

Интерфейс: 192.168.234.1 — 0xf

адрес в Интернете Физический адрес Тип

192.168.234.255 ff-ff-ff-ff-ff-ff статический

224.0.0.22 01-00-5e-00-00-16 статический

224.0.0.252 01-00-5e-00-00-fc статический

239.255.255.250 01-00-5e-7f-ff-fa статический

Как видно из приведенной таблицы, например IP – адресу 192.168.0.1 соответствует физический адрес сетевого адаптера, равный 00-1e-13-d6-80-00 . Если же сетевой адаптер с данным адресом будет недоступен, то такой записи в таблице не будет.

Для понимания алгоритма опроса сети необходимо учесть следующее:

Разрешение адресов ARP используется только при передаче данных по IP-протоколу в пределах сегмента локальной сети, задаваемого маской. Так, например, для примера с IP адресом 192.168.0.1 и маски 255.255.255.0 это будет диапазон IP от 192.168.0.1 до 192.168.0.254.

Программно открыть cmd.exe от имени администратора и перенаправить потоки ввода и вывода

Вы не правильно поняли смысл параметра . Вот что говорит по этому поводу

/C Выполнение указанной команды (строки) с последующим завершением.

Как видите, параметр не имеет ни какого отношения к правам администратора для консоли. Более того, описанная вами «проблема» — это правильное поведение. Процесс запускается, выполняет единственную команду, и завершается. Так как читаете выходной поток вы явно, а не по событию, то к моменту, когда дело доходит до чтения, процесс уже завершен и поток пуст. Если же читать по событию (тык) то вы сможете зафиксировать вывод до завершения процесса консоли, но это не отменяет тот факт, что процесс будет завершен после выполнения единственной команды.

Для повышения прав используйте

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector