Управление компьютером через командную строку: Как открыть «Управление компьютером» 🚩 как зайти в мой компьютер 🚩 Программное обеспечение
Содержание
NETSH и удаленные компьютеры
NETSH и удаленные компьютеры
Netsh позволяет работать с удаленными компьютерами. Для операций в интерактивном режиме нужно запустить netsh с параметром -R и указать IP-адрес или доменное имя компьютера, к которому вы хотите подключиться, например:
netsh -г 192.168.10.15 или netsh -г comp1
Если вы работаете с удаленным компьютером, Netsh добавляет в приглашение командной строки IP-адрес или имя этого компьютера:
[comp1] netsh>
Для работы в неинтерактивном режиме с удаленным компьютером предназначен следующий синтаксис:
netsh -с Контекст -г Удаленный Компьютер Команда, где
- Контекст — это идентификатор нужного контекста,
- Удаленный Компьютер — имя или IP-адрес удаленного компьютера,
- Команда — команда, которую нужно выполнить.
Рассмотрим пример: netsh -с «interface ip» -г corpsvr02 show ipaddress
В этом примере вы получаете список IP-адресов, настроенных на CorpSvr02, с применением контекста IP-интерфейса. Здесь контекст RPC не годится, так как он доступен только на локальном компьютере.
Netsh требует наличия в сети сконфигурированной службы маршрутизации и удаленного доступа. А точнее, вы должны настроить политику удаленного доступа Connections То Other Access Servers, чтобы предоставить разрешение на удаленный доступ. Также убедитесь, что служба удаленного доступа работает.
Работа с файлами сценариев с помощью NETSH
Как обсуждалось ранее, вы можете ввести полную последовательность команд Netsh в командной строке или в сценарии. Подвох в том, что вы должны знать полную командную строку, которую собираетесь использовать, и не можете положиться на подсказку Netsh. Некоторые командные строки могут быть очень длинными и сложными. Например, следующие команды выполняют подключение к DHCP-серверу, настраивают DHCP-область, а затем активизируют эту область:
- netsh dhcp server \\corpsvr02 add scope 192.168.1.0 255.255.255.0 MainScope PrimaryScope
- netsh dhcp server \\corpsvr02 scope 192. 168.1.0 add iprange 192.168.1.1 192.168.1.254
- netsh dhcp server \\corpsvr02 scope 192.168.1.0 add excluderange 192.168.1.1 192.168.1.25
- netsh dhcp server \\corpsvr02 scope 192.168.1.0 set state 1
Если вы сохраните эти команды в сценарий, то сможете запустить его, как любой другой сценарий. Например, присвоив сценарию имя dhcpconfig.bat, просто введите dhcpconfig для запуска этого сценария.
При работе с удаленным компьютером сценарий можно поместить в общую сетевую папку, доступную с удаленного компьютера, а затем удаленно подключиться к этому компьютеру для запуска сценария. Или скопировать сценарий непосредственно на удаленный компьютер и, подключившись к нему, удаленно запустить сценарий. Годятся оба способа, но они требуют дополнительных усилий.
Есть более быстрый способ запустить сценарий на удаленном компьютере. Для этого вы должны немного изменить сценарий и использовать синтаксис:
- netsh -с Контекст -г УдаленныйКомпыотер -f Сценарий
1000++ способ запуска команд на удаленном компьютере / Хабр
В наше время даже для собак придумали удаленное управление.
Возвращаясь к циклу «Конспект Админа», мне хотелось бы рассказать о вариантах запуска исполняемых программ на удаленных компьютерах. Эта статья будет интересна тем, у кого еще нет систем централизованного управления, но уже есть понимание утомительности ручного обхода рабочих станций и серверов. Либо тем, кому решения «под ключ» не интересны ввиду неспортивности.
В качестве того, зачем нужен такой запуск программ, можно привести недавнюю истерию с Петей\Не-Петей, когда все бросились проверять\отключать SMBv1 и загружать обновления. Да и провести инвентаризацию или установить срочный патч таким методом тоже можно.
Когда-то давно я устроился работать в организацию в период эпидемии Kido\Conficker. Наиболее простым способом выяснить, все ли хорошо в ИС компании, была славная утилита от Касперского под названием Kido Killer, которая проверяла наличие вируса и устраняла его. Запускать программу на доброй сотне машин руками было невесело, поэтому пришлось знакомиться с автоматизацией.
Если в операционных системах *nix для удаленного запуска, как правило, используется SSH, то у Windows способов запуска программ и скриптов воистину как песка в пустыне. Я разберу основные варианты, как общеизвестные, так и экзотические. Таких очевидных вещей как telnet-сервер касаться не буду, тем более Microsoft уже убрала его из современных ОС.
Psexec
Пожалуй, это первое, что приходит на ум, когда идет речь об удаленном запуске программ. Утилита от Марка Руссиновича используется еще со времен Windows NT и до сих пор применяется. Помимо основной функции, можно использовать ее и как Runas, и для запуска программ в пользовательской сессии терминального сервера. Psexec также позволяет задавать ядра процессора, на которых будет запускаться программа, и ее приоритет в системе.
В качестве примера посмотрим, установлено ли обновление, закрывающее нашумевшую уязвимость SMB на списке компьютеров:
psexec @computers.txt /u USER /p PASS cmd. exe /v /c ""systeminfo | find "KB4012212" || echo !computername! >> \\server\share\log.txt"""
В файле computers.txt находится список компьютеров. Для запуска по всему домену можно использовать \\*. В файле \\server\share\log.txt будут появляться имена рабочих станций или серверов без обновления. Если в домене существуют компьютеры с *nix на борту или нет доступа к административному сетевому ресурсу Admin$ ― команда на этой машине не выполнится, но обработка продолжится. Чтобы скрипт не зависал при каждой попытке подключения, можно задать тайм-аут с помощью ключа -n.
Если компьютер выключен ― мы об этом не узнаем. Поэтому лучше предварительно проверять доступность машин или собирать в файле информацию об успешном или неудачном выполнении.
К минусам Psexec можно отнести то, что она из-за своего удобства и популярности часто используется вирусописателями. Поэтому антивирусные системы могут обнаруживать утилиту как опасность вида remote admin.
По умолчанию процесс на удаленной машине выполняется от имени пользователя, запустившего Psexec. При необходимости логин и пароль можно задать явно или же использовать аккаунт SYSTEM.
WMIC
Для управления системами Windows с помощью разных графических утилит часто используется WMI (Windows Management Instrumentation) ― реализация объектно-ориентированного стандарта управления WBEM. В качестве утилиты с графическим интерфейсом для работы с WMI можно использовать wbemtest.exe.
Для работы с WMI из консоли создана wmic.exe. Например, для проверки установленных обновлений вместо жутковатой конструкции из предыдущего примера можно использовать простую команду:
wmic /node:"servername" qfe get hotfixid | find "KB4012212"
Использовать список компьютеров также можно командой /node:»@computers.txt».
Еще при помощи WMI можно запускать программы – синтаксис предельно прост:
wmic /node:"servername" process call create "cmd /c somecommands"
К сожалению, в отличие от Psexec, получить вывод в консоли не получится ― придется выводить результаты команды в файл.
По умолчанию процесс на удаленной машине выполняется от имени пользователя, запустившего wmic. При необходимости логин и пароль можно задать явно.
Групповые политики и скрипты
Если предыдущие варианты не требовали доменной среды, то в этом случае потребуется домен. Поддерживаются скрипты при входе и выходе пользователя из системы, а также при ее включении и выключении. Поскольку каждый администратор Windows сталкивался с ними, я не буду подробно расписывать как ими пользоваться ― лишь напомню, где их искать.
Скрипты, выполняющиеся при старте и завершении системы.
Скрипты, выполняющиеся при входе и выходе пользователя из системы.
Скрипты, настраиваемые в пользовательском разделе, выполняются от имени пользователя, а в разделе компьютера ― под аккаунтом SYSTEM.
Назначенные задания
Довольно интересный способ, заслуживающий право на жизнь. Назначенные задания можно создавать из командной строки при помощи утилиты schtasks. exe, выполнять их, затем удалять. Подробнее с синтаксисом можно ознакомиться в документации, я же разберу пример использования назначенных заданий в доменной среде. Предположим, нам нужно выполнить команду как можно быстрее вне зависимости от того, выключен компьютер или нет. Для этого используются так называемые предпочтения групповых политик (Group Policy Preference).
Искать установку назначенных заданий следует в конфигурации компьютера или пользователя ― «Настройка ― Параметры панели управления ― Назначенные задания».
Создание нового назначенного задания.
Для выполнения команды или скрипта ASAP понадобится создать «Немедленную задачу (Windows 7 и выше)». Если вдруг в инфраструктуре остались машины под управлением Windows XP, то подойдет «Очередное задание (Windows XP)».
Стоит сделать несколько политик с соответствующими WMI-фильтрами или создать два разных назначенных задания в одной политике с нацеливанием ― например, при помощи того же WMI-фильтра. Это поможет избежать конфликтов в разнородной среде со старыми и новыми Windows.
Пример WMI-фильтра для применения политики только на компьютерах с Windows XP:
SELECT * FROM Win32_OperatingSystem WHERE Version LIKE "5.1%" AND ProductType = "1"
В остальном процедура создания назначенного задания тривиальна. Единственное, не забывайте отметить пункт «Применить один раз и не применять повторно», если задача не требует повторного запуска.
Запускаем немедленную задачу только один раз.
При использовании таких назначенных заданий программа запустится, как только компьютер получит обновление групповой политики. Это удобно: не нужно проверять доступность компьютеров в случае Psexec и wmic и заставлять пользователей перезагружать машины, как в случае скриптов групповых политик. При необходимости можно скопировать файл скрипта локально в разделе «Настройка ― Конфигурация Windows ― Файлы».
Назначенные задания позволяют явно задать имя пользователя для запуска программы, в том числе и для SYSTEM.
Через реестр
Модификация реестра на пользовательских машинах ― странный вариант, лишь на случай крайней необходимости. Можно использовать ветки Run или RunOnce. Подробнее о них ― в документации. Сама модификация реестра может проводиться через групповые политики или из командной строки ― например, такой командой:
reg add \\COMPUTER\HKLM\Software\Microsoft\Windows\CurrentVersion\RunOnce /v script /t Reg_SZ /d "script.cmd"
В зависимости от ветки реестра, процесс будет выполняться или под пользователем, выполнившим вход в систему, или под аккаунтом SYSTEM.
Есть и другие способы, такие как правка ярлыков в папке «Автозагрузка» или добавление в ярлык к популярной программе && script.cmd, но эти методы уже из серии «можно, но не нужно».
Теперь перейдем к новым инструментам.
PowerShell, оправдывая свое название, может подключаться к удаленным компьютерам при помощи WMI, RPC и WS-Management (WSMan). Использование последнего метода требует предварительной настройки.
Командлеты, не требующие предварительной настройки, как правило, имеют параметр ComputerName, но не имеют параметра Session. Посмотреть список таких командлетов можно командой:
Get-Command | where { $_.parameters.keys -contains "ComputerName" -and $_.parameters.keys -notcontains "Session"}
Для настройки WSMan в общем случае достаточно выполнить команду Enable-PSRemoting-Force. Она запустит службу удаленного управления WinRM и пропишет исключения в фаерволе ― в принципе, это можно сделать для всего домена при помощи групповых политик. Подробнее настройка описана в документации.
После того как все компьютеры будут готовы принимать запросы, мы сможем подключаться при помощи соответствующих командлетов PowerShell. Для проверки возможности подключения используется командлет Test-WSMan.
Проверка возможности подключения.
Для того чтобы выполнить определенную команду или скрипт, используется командлет Invoke-Command со следующим синтаксисом:
Invoke-Command -ComputerName COMPUTER -ScriptBlock { COMMAND } -credential USERNAME
Где COMPUTER ― имя компьютера, COMMAND ―– имя команды, а USERNAME ― имя пользователя, если оно нужно.
Смотрим содержимое диска С удаленного компьютера.
Если же нам нужно получить полноценную консоль ― не автоматизации ради, а ради управления конкретным компьютером, ― то можно использовать командлет Enter-PSSession.
Работаем в консоли удаленного компьютера.
Напомню, что с помощью JEA можно ограничить доступные подобной сессии командлеты или дать доступ нужным без прав администратора.
Конечно, кроме встроенных средств и небольших утилит, существует множество программ для управления структурой. Помимо взрослых решений, для управления конфигурациями вроде Chef, Ansible и MS SCCM можно использовать и средства мониторинга вроде Zabbix, и даже консоль управления антивирусом Касперского.
В период гетерогенных структур хорошо бы иметь возможность унифицированного управления Windows и Linux. Это можно сделать и с помощью PowerShell, что само по себе достойно отдельной статьи ― стоит такую сделать или уже лишнее?
Кстати, поделитесь вашими способами скрытого и не очень запуска программ на удаленных компьютерах. Ну, за исключением эксплойтов.
Управляйте своим компьютером с помощью интерфейса командной строки
Когда вы покупаете по ссылкам на нашем сайте, мы можем получать партнерскую комиссию. Вот как это работает.
(Изображение предоставлено Shutterstock)
Подобно графическому пользовательскому интерфейсу (GUI), интерфейс командной строки (CLI) — это то, что большинство из нас, работающих в технологической отрасли, привыкли использовать для связи с компьютером.
Исторически этот вид связи осуществлялся с помощью переключателей, прежде чем первые операторы перешли на использование карт и телетайпов. Затем последовали электронные терминалы, внедрение которых положило начало CLI. Этот интерфейс позволяет пользователям отправлять сложные команды на ваш компьютер, вместо того, чтобы, например, перемещаться с помощью курсора и нажимать на приложения. Хотя он не так привлекателен визуально, как графический интерфейс, он гораздо более функционален.
Использование интерфейса командной строки также намного быстрее, чем навигация по графическому интерфейсу. Например, если вам нужно найти все ваши локальные файлы, измененные в мае 2006 года, вы можете просто ввести:
find . -type f -newermt 20060501\! -newermt 20060601
Это можно, конечно, сделать и через проводник Windows, но это занимает гораздо больше времени. Сначала вам нужно открыть проводник, получить доступ к окну поиска, чтобы вызвать кнопку «Дата изменения», найти дату, чтобы вывести ее в календарь, вернуться к маю 2006 года, нажать 1 мая и Shift-щелкнуть 31 мая. , прежде чем нажать Enter. Ввод этой простой команды кажется намного проще, чем просмотр Проводника, и большинство людей выберут более трудоемкий метод.
Приведенная выше команда сообщает вашему компьютеру, что нужно найти все файлы старше 1 мая 2006 года, но не старше 31 мая. Хотя это может показаться тарабарщиной для неподготовленного глаза, как только вы посвятите время их изучению, становится намного легче выполнять их в темпе.
Интерфейс командной строки не только ускоряет выполнение функций, которые вы можете выполнять с помощью графического интерфейса, но также дает вам возможность выполнять действия, недоступные графическому интерфейсу. Если, например, вы работаете в X Corp и годами пишете для нее технические руководства, и вас просят изменить имя на Y Corp во всех этих файлах, это может показаться серьезной проблемой, учитывая, что существуют сотни они похоронены в структуре папок на шесть уровней глубже.
Вы можете легко найти эти документы в графическом интерфейсе Windows, но изменить их текст будет кошмаром. В командной строке Linux это можно сделать одной строкой:
find . -type f -exec sed -i ‘s/X Corp/Y Corp/g’ {} +
Это находит все файлы в каталоге, а затем использует функцию замены, sed, для замены текста.
Интерфейсы командной строки становятся еще более мощными, когда вы связываете несколько команд вместе, используя выходные данные одной команды в качестве входных данных для следующей. Современные интерфейсы командной строки даже поддерживают сценарии, поэтому вы можете писать небольшие программы для выполнения множества повторяющихся задач. Легко понять, почему опытные системные администраторы предпочитают интерфейс командной строки графическому интерфейсу. Они могут использовать его для автоматизации задач на продвинутом уровне.
Как работают CLI?
Эти инструменты используют оболочку, которая представляет собой программу, которая интерпретирует ваши команды, а затем отправляет их ядру базовой операционной системы, которое запускает их и создает вывод, который передается вам. Он может работать на вашем собственном компьютере или на удаленном сервере, доступном с помощью программы, которая позволяет вам использовать оболочку удаленно, например, telnet или ssh.
Как изменился интерфейс командной строки за прошедшие годы
Оболочки командной строки действительно появились в системах Unix и их предшественниках. Одной из первых оболочек была Runcom, программа, разработанная в Массачусетском технологическом институте в середине шестидесятых, которая позволяла администраторам запускать множество команд в виде пакетных файлов. Потом в 19 году появился снаряд Томпсона71, но в основном был просто интерпретатором, выполняющим команды по мере их ввода пользователем, с некоторыми ограниченными возможностями сценариев.
Оболочки снова эволюционировали с созданием оболочки Борна (известной как sh). Он был представлен в 1977 году в качестве замены оболочки V6 и разработан Стивеном Борном в Bell Labs. Он предназначен для использования в качестве языка сценариев и обладает большинством функций, которые обычно используются для создания структурированных программ.
На основе оболочки Bourne возникла одна из ее самых популярных преемниц, Bash (оболочка Bourne-again). Выпущен в 1989 бесплатная оболочка с открытым исходным кодом Bash стала стандартом де-факто для систем Linux, но есть из чего выбирать. Bash был написан Брайаном Фоксом для проекта GNU в качестве бесплатной замены оболочки Bourne.
Хотя Bash был популярен в Linux, он также использовался в операционных системах Apple OS X и MacOS вплоть до Catalina в 2019 году. Bash также был перенесен в Windows.
(Изображение предоставлено Shutterstock)
Другим вариантом оболочки Bourne является оболочка Korn (ksh), написанная Дэвидом Корном. Это предлагает средний путь между оболочкой Bourne и оболочкой C (сама она была создана Биллом Джоем в конце 19-го века).70-х, когда Джой была студенткой Калифорнийского университета в Беркли). Оболочка Korn имела синтаксис оболочки Bourne, но ее функции управления заданиями больше походили на те, что есть в оболочке C.
Microsoft также имеет богатую историю CLI. Исходная операционная система MS-DOS была основана на CLI, а ранние версии Windows представляли собой оболочки с графическим интерфейсом, работающие в DOS. После таких проектов, как Xenix (версия Unix от Microsoft) и OS/2, Windows NT стала основой для современной Windows. Это представило оболочку CMD.exe, разработанную для обратной совместимости с DOS CLI.
CMD.exe был интерпретатором командной строки по умолчанию не только для Windows, но и для OS/2, eComStation, ArcaOS и ReactOS. Он также известен как командная строка, ссылаясь на заголовок окна по умолчанию в Windows. CMD.exe является аналогом COMMAND.COM в системах DOS и Windows 9x.
Однако вскоре оказалось, что CMD.exe не подходит для более сложных современных задач, поэтому Microsoft создала PowerShell. Это был более сложный объектно-ориентированный интерфейс командной строки, который позволял пользователям манипулировать всеми частями системы Windows. Это позволяет пользователям оптимизировать и автоматизировать повторяющиеся задачи, создавая сценарии и объединяя несколько команд.
В отличие от других оболочек, которые принимают и возвращают текст, PowerShell построен на основе общеязыковой среды выполнения (CLR) .NET и принимает и возвращает объекты .NET. Первая версия PowerShell, разработанная Microsoft для автоматизации задач и управления конфигурацией, была выпущена в ноябре 2006 года для Windows XP, Windows Server 2003 и Windows Vista.
Создание CLI для будущего
PowerShell Core, версия PowerShell с открытым исходным кодом, выпущенная в 2017 году, предоставила пользователям систем Linux и даже Mac доступ к мощному инструменту CLI. Это решение также стало частью более широкого перехода Microsoft к использованию Linux, впервые представив подсистему Windows для Linux (WSL) в 2016 году, позволяющую программам работать в операционных системах Windows, а это означает, что пользователи Windows могут использовать оболочку Bash.
С технической точки зрения, вам не нужно напрямую обращаться к cmd.exe или PowerShell, вместо этого они вызывают консоль Windows при их открытии, которая представляет собой внешний пользовательский интерфейс Microsoft для cmd.exe. Он делает Консоль практически такой же, как Терминал, через который вы можете управлять Bash и другими оболочками в системах Linux и Mac.
С тех пор компания объявила на своей виртуальной конференции Build 2020, что Windows Terminal, преемник Windows Console, будет общедоступен. Среди функций — несколько вкладок, рендеринг текста с ускорением на графическом процессоре и поддержка символов Unicode и UTF-8. Это означает официальную поддержку эмодзи. Кроме того, Windows Terminal можно использовать с различными системами командной строки, которые также поддерживает Microsoft, включая Windows PowerShell и WSL.
Поскольку характер интерфейса командной строки меняется с течением времени, следующее поколение технических специалистов и программистов может быть совершенно незнакомо с инструментами, которые использовались поколениями. Эта когорта может вместо этого полагаться на голосовые команды или системы, основанные на жестах. Каждый шаг представляет собой значительный отход от возможностей CLI, хотя стоит изучить этот инструмент более подробно, если вы хотите сохранить полный контроль над своим устройством.
Ежедневная порция ИТ-новостей, обзоров, функций и идей прямо на ваш почтовый ящик!
Свяжитесь со мной, чтобы сообщить о новостях и предложениях других брендов FutureПолучайте электронные письма от нас от имени наших надежных партнеров или спонсоров
Рене Миллман — внештатный писатель и телеведущий, освещающий вопросы кибербезопасности, искусственного интеллекта, Интернета вещей и облачных технологий. Он также работает аналитиком в GigaOm, а ранее работал аналитиком в Gartner, занимаясь рынком инфраструктуры. Он много раз появлялся на телевидении, чтобы поделиться своим мнением и опытом в отношении технологических тенденций и компаний, которые влияют на нашу жизнь и формируют ее. Вы можете подписаться на Рене Миллман в Твиттере.
Информационный бюллетень ITPro
Ежедневная порция ИТ-новостей, обзоров, функций и идей прямо на ваш почтовый ящик!
Спасибо за регистрацию в ITPro. Вскоре вы получите электронное письмо с подтверждением.
Возникла проблема. Пожалуйста, обновите страницу и повторите попытку.
Отправляя свою информацию, вы соглашаетесь с Условиями использования и Политикой конфиденциальности и вам исполнилось 16 лет.
Удаленная командная строка | Запуск команд на удаленном компьютере
Удаленная командная строка | Запуск команд на удаленном компьютере — ManageEngine Remote Access Plus
Удаленная командная строка — важный инструмент для удаленного устранения неполадок. Командная строка Windows может предоставить вам подробное представление о сетевых параметрах вашего устройства, информацию об оборудовании или исправить ошибки с помощью простых команд. Даже в случае сбоя всех приложений конечного пользователя вы все равно можете получить доступ к их командной строке и решить проблему. С Remote Access Plus вы можете беспрепятственно получать доступ и запускать команды на удаленном компьютере из веб-консоли без запуска удаленного сеанса.
Знаете ли вы? Вы можете просмотреть диспетчер задач и убить задачу из командной строки. Все, что вам нужно сделать, это использовать команды tasklist и taskkill. Как администратор предприятия, вы можете использовать простые команды, подобные этим, для быстрого устранения проблем на компьютере конечного пользователя.
Как открыть командную строку удаленного компьютера?
Выполните следующие простые шаги, чтобы получить полный контроль над удаленной командной строкой:
- Откройте веб-консоль продукта.
- Вы можете выполнить любой из следующих шагов, чтобы открыть командную строку
- Метод 1: Поиск удаленного компьютера на домашней вкладке. Наведите указатель мыши на имя компьютера и нажмите «Диспетчер системы» -> «Командная строка».
- Способ 2: Перейдите к Сервис-> Диспетчер системы -> Диспетчер -> Командная строка
- Если вы включили подтверждение пользователя, вы сможете получить доступ к терминалу после одобрения конечным пользователем.
- По умолчанию командная строка открывается от имени системного пользователя. Вы можете переключаться между пользователями с помощью опции « Run As ».
Remote PowerShell
PowerShell — это интерфейс командной строки Windows с надежными возможностями для автоматизации и настройки административных задач. Администраторы и технические специалисты могут сэкономить много времени, используя быстрый доступ к PowerShell из консоли Remote Access Plus без запуска удаленного сеанса.