Открыть службы через cmd

1000++ способ запуска команд на удаленном компьютере

Открыть службы через cmd

В наше время даже для собак придумали удаленное управление.

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

В качестве того, зачем нужен такой запуск программ, можно привести недавнюю истерию с Петей\Не-Петей, когда все бросились проверять\отключать 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.

Читайте также  Служба dlna Windows 10

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 «5.1%» AND ProductType = «1»

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

Запускаем немедленную задачу только один раз.

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

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

При необходимости можно скопировать файл скрипта локально в разделе «Настройка ― Конфигурация Windows ― Файлы».

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

Через реестр

Модификация реестра на пользовательских машинах ― странный вариант, лишь на случай крайней необходимости. Можно использовать ветки Run или RunOnce. Подробнее о них ― в документации. Сама модификация реестра может проводиться через групповые политики или из командной строки ― например, такой командой:

Читайте также  Программа для выключения ненужных служб Windows 10

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, что само по себе достойно отдельной статьи ― стоит такую сделать или уже лишнее?

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

Источник: https://habr.com/p/342428/

8 способов открыть cmd от имени администратора в Windows 10

Открыть службы через cmd

Здравствуйте, мои любознательные читатели!

Сегодня у нас в статье пойдет речь о командной строке (cmd.exe) в Windows 10. Командная строка позволяет выполнять разнообразные задачи, которые не всегда возможно выполнить через графический интерфейс. И при работе в cmd часто могут требоваться повышенные права.

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

Если у вас Windows 7 или 8, то проверяйте их на своей системе.

Итак, поехали!

1. Запуск cmd из контекстного меню Пуска

Нажмите на Пуск правой кнопкой мыши или нажмите комбинацию Win+X, причем клавишами быстрее, я гарантирую это;) Появится контекстное меню, в котором выбираем пункт Командная строка (администратор). Готово!

2. Через диспетчер задач

Если у вас запущен Диспетчер задач, то можно открыть cmd прямо из него. Для этого зайдем в меню Файл ->Запустить новую задачу.

Читайте также  Bits что это за служба в Windows?

Вводим cmd и ставим галочку чуть ниже Создать задачу с правами администратора. И затем ОК.

3. Через диспетчер задач (хитрый способ)

Третий способ очень похож на второй, но чуть более быстрый и не такой известный.

Начало такое же, то есть, в Диспетчере задач выбираем Файл -> Запустить новую задачу, но когда кликаете мышкой по этому пункту — удерживайте клавишу Ctrl. В этом случае сразу запускается cmd в режиме администратора, без лишних разговоров.

4. Запуск cmd из поиска Windows 10

Нажмите комбинацию Win+S либо прицельтесь левой кнопкой мышки в значок лупы справа от кнопки Пуск. В поле поиска можно ввести либо на английском ‘cmd‘ либо на русском введите первые 5-6 букв от названия ‘Командная строка‘. Затем правой кнопкой мыши нажимаем на результате поиска, выбираем Запустить от имени администратора.

5. Запускаем cmd из меню Все приложения

Открываем Пуск, кликаем на Все приложения и отыскиваем пункт Служебные — Windows. Обычно он прячется в самом низу, так что промотайте колесиком мышки до самого конца.

Итак, нашли группу Служебные, раскрыли список программ внутри и обнаружили Командную строку. Правой кнопкой по ней кликаем, затем Дополнительно, потом Запуск от имени администратора.

6. Запуск из системного каталога Windows\System32

Можно запустить командную строку прямо из ее родной папки system32. Для этого заходим в Проводник / Мой компьютер, находим диск C, ищем папку Windows, идём туда, находим папку System32, углубляемся все дальше и дальше в кроличью нору заходим в неё. В папке System32 ищем файл cmd.exe. Выделяем его. И тут появляется два варианта.

Самый быстрый и простой: правой кнопкой мышки кликаем на cmd.exe и выбираем уже знакомый нам Запуск от имени администратора.

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

7. Запуск cmd из любой папки Проводника

Этот вариант открытия командной строки доступен из любой папки Проводника Windows 10. Заходите в нужное вам место, заходите в меню Файл -> Открыть командную строку ->Открыть командную строку как администратор.

8. Создаем админский ярлык для cmd.exe

Для быстрого доступа к админской командной строке сделаем следующее.

На рабочем столе на свободном месте кликаем правой кнопкой, выбираем Создать -> Ярлык.

Вводим cmd или cmd.exe, оба вариант будут работать. Далее.

Назовите ярлык так, чтобы сразу было понятно, например, cmd.exe (admin). Готово.

Ярлык создан, но еще не настроен. Заходим в его свойства (правой кнопкой на ярлыке и выбрать Свойства). Нажимаем кнопку Дополнительно…

… и ставим галочку Запуск от имени администратора. Сохраняем все это дело и теперь мы всегда сможем запустить командную строку cmd с правами администратора простым запуском ярлыка.

Но можно еще больше ускорить запуск;)

Нажмите правой кнопкой на ярлыке и выберите пункт Закрепить на панели задач. Или Закрепить на начальном экране как вариант.

Я описал здесь именно те варианты, которые позволяют запустить командную строку с админскими привилегиями. Есть еще способы запуска, но они от имени обычного пользователя, что не вписывается в тему этой статьи. Например, через Win+R или удерживать Shift при клике правой кнопкой мыши на приложении.

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

Источник: http://softwarius.ru/8-sposobov-otkryit-cmd-ot-imeni-administratora-v-windows-10/

Понравилась статья? Поделиться с друзьями:
О компьютерах просто