Как подключиться к удаленному компьютеру через командную строку windows

Приветствую. Иногда возникают задачи когда нужно что-либо сделать на удаленном компьютере, при этом либо нет возможности подключиться по RDP, например, если вдруг сервер сильно загружен, и ему не хватит ресурсов для запуска терминальной сессии (да да, у меня такое встречалось, не сказать что часто, но бывало ). Либо из командной строки задачу сделать быстрее. Ну или еще как вариант, если нужно что то сделать скрытно, в том случае если пользователь в момент когда это нужно сделать работает за компьютером. Пользователям Linux с этим гораздо проще, у них есть ssh.

Приветствую. Иногда возникают задачи когда нужно что-либо сделать на удаленном компьютере, при этом либо нет возможности подключиться по RDP, например, если вдруг сервер сильно загружен, и ему не хватит ресурсов для запуска терминальной сессии (да да, у меня такое встречалось, не сказать что часто, но бывало smiley). Либо из командной строки задачу сделать быстрее. Ну или еще как вариант, если нужно что то сделать скрытно, в том случае если пользователь в момент когда это нужно сделать работает за компьютером. Пользователям Linux с этим гораздо проще, у них есть ssh. Но и в Windows есть возможность подключаться, с позволения сказать, в командную строку.

В общем и целом на помощь к нам приходят утилиты SysInternals, а именно — pstools, а еще конкретнее — psexec из этого набора утилит. Скачать это добро можно здесь.

После того как скачали, нужно эти утилиты разархивировать куда-нибудь. Я обычно на диске C: создаю папку ps, что бы удобнее было добираться до утилит. Установки они не требуют. Для того что бы подключиться к удаленному компьютеру в командной строке набираем:

c:psPsExec.exe \192.168.1.114 -u domainuser -p password cmd

За место cmd можно например запустить какой-нибудь батник или другую команду.

Видео по теме:

9 6

Поделитесь статьей с друзьями в соц. сетях, возможно, она будет им полезна.


Если вам помогла статья, вы можете >>отблагодарить автора<<


Для выполнения команд на удалённом ПК можно использовать утилиту psexec из набора PsTools, который можно скачать с официального сайта Microsoft.

Содержание

  • 1 Запуск командной строки на удалённом ПК
  • 2 Переименование удалённого ПК
  • 3 Отключение брандмауэра
  • 4 Включение удалённого рабочего стола
  • 5 Добавление пользователя в локальную группу

Запуск командной строки на удалённом ПК

Для подключения можно использовать IP адрес или имя компьютера:

psExec64.exe \192.168.2.68 cmd

или если хотим подключиться не от имени текущего пользователя, то:

PsExec.exe \192.168.2.68 -u ДоменПользователь -p Пароль cmd

Если ПК не в домене, то вместо «Домен» указываем имя ПК.

После удачного подключения изменится заголовок окна.

Переименование удалённого ПК

Текущее имя ПК можно увидеть через запрос к значению в реестре:

reg query «HKLMSYSTEMCurrentControlSetControlComputerNameComputerName» /v ComputerName

Изменяем в реестре имя ПК на New-PC-Name:

reg add «HKLMSYSTEMCurrentControlSetControlComputerNameComputerName» /v ComputerName /t REG_SZ /d «New-PC-Name» /f

reg add «HKLMSYSTEMCurrentControlSetServicesTcpipParameters» /v ComputerName /t REG_SZ /d «New-PC-Name» /f

Для вступления в силу нового имени нужно перезагрузить компьютер:

shutdown /r /f /t 180

Здесь мы дали пользователю 3 минуты (180 секунд) на закрытие документов, но можно этот параметр изменить в соответствии со случаем.

Отключение брандмауэра

Отключаем брандмауэр для всех профилей сети:

netsh advfirewall set allprofiles state off

Включение:

netsh advfirewall set allprofiles state on

Включение удалённого рабочего стола

Проверить есть ли доступ к удалённому рабочему столу можно с помощью команды telnet, попробовав подключиться к соответствующему порту. Для Windows штатным является подключение по протоколу RDP на порт 3389 (хотя, конечно, и порт для RDP можно изменить и использовать другие протоколы). В случае открытого порта (подключения разрешены) мы увидим приглашение командной оболочки telnet:

telnet 192.168.2.68 3389

Trying 192.168.2.68…
Connected to 192.168.2.68.
Escape character is ‘^]’.

Если же подключение запрещено, то команда зависнет на этапе «Trying 192.168.2.68…»

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

Если мы получили доступ к командной строке удалённого ПК (см. PsExec выше), то выполняем:

reg add «HKLMSYSTEMCurrentControlSetControlTerminal Server» /v fDenyTSConnections /t REG_DWORD /d 0 /f

Иначе, можно подключиться к реестру через оснастку.

1) Запускаем на удалённом ПК службу «Удаленный реестр«.

  • Входим в локальную оснастку «Службы»:

services.msc

  • Подключаемся к службам удалённого ПК: в боковом меню Службы в контекстном меню выбрать «Подключиться к другому компьютеру…»
  • Находим службу «Удаленный реестр» и меняем тип запуска на «Вручную»
  • Запускаем службу: кнопка «Запустить»

2) Подключаемся к реестру удалённого ПК.

  • На локальном ПК запускаем редактор реестра:

regedit

  • В верхнем меню выбираем: Файл — Подлкючить сетевой реестр…
  • Вводим имя ПК, нажимаем «ОК» и должен появиться дополнительный куст с именем ПК и двумя ветками: HKEY_LOCAL_MACHINE и HKEY_USERS
  • Спускаемся по веткам до HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlTerminal Server
  • Меняем параметр fDenyTSсonnections с 1 на 0

Пробуем подключиться:

mstsc

3) Если подлкючиться не удаётся, то нужно ещё донастроить брандмауэр на удалённом ПК

  • Получаем досутп к командной строке удалённого ПК с помощью PsExec:

psExec64.exe \192.168.2.68 cmd

  • Добавляем разрешающее правило в брандмауэр Windows на удалённое подключение к рабочему столу (порт 3389):

netsh advfirewall firewall add rule name=»Allow Remote Desktop» dir=in protocol=TCP localport=3389 action=allow

См. также

  • Включить RDP Windows удаленно и локально, за минуту — подробная инструкция со скриншотами

Добавление пользователя в локальную группу

1) Если у нас есть возможноть удалённого управления ПК, то проще всего запустить на локальном ПК Оснастку управелния компьютером

compmgmt.msc

и подключиться к удалённому ПК:

  1. Щёлкнуть правой клавишей мышы по корневому пункту бокового меню «Управление компьютером» и выбрать в контекстном меню пункт «Подключиться к другому компьютеру…«
  2. Ввести имя или IP адрес ПК или нажать «Обзор…» и поискать в домене

После подключения выбрать в боковом меню: Локальные пользователи и группы — Группы

И добавить нужных пользователей в нужную группу.

2) Если возможности удалённого управления нет, то можно попробовать его получить отключив брандмауэр на удалённом ПК и включив на нём службу «Удаленный реестр» (см. выше). Или получив с помощью утилиты psExec доступ к командной строке на удалённом ПК управлять пользователями и группами через командную строку.

Mstsc — подключение к удаленному рабочему столу Windows

Команда Mstsc — подключение по RDP

Команда терминального сервера Mstsc используется для создания подключений к серверам терминалов или другим удаленным компьютерам с операционной системой Windows, редактирования существующего файла конфигурации подключения к удаленному рабочему столу (*.rdp) и переноса подключений Wndows (подключений, созданных с помощью диспетчера клиентских подключений) в новые файлы .rdp. Для принудительного выхода пользователей из системы используется команда LOGOFF.

Синтаксис и параметры команды Mstsc

mstsc.exe {файл_подключения|/v:сервер} [/console] [/f] [/w:ширина /h:высота]

mstsc.exe /edit»файл_подключения»

mstsc.exe /migrate

  • Файл_подключения — Задает имя файла .rdp для подключения.
  • /v:сервер — Задает имя удаленного компьютера, к которому необходимо подключиться.
  • /console — Подключается к сеансу консоли указанного компьютера под управлением Windows Server.
  • /f — Запускает подключение удаленного рабочего стола в полноэкранном режиме.
  • /w:ширина /h:высота — Указывает размеры экрана удаленного рабочего стола.
  • /edit — Открывает указанный файл .rdp для редактирования.
  • /migrate — Переносит устаревшие файлы подключений, созданные диспетчером клиентских подключений, в новые файлы .rdp.mstsc

Примечания по команде MSTSC

  • Для создания подключения к удаленной консоли необходимо быть администратором на сервере, к которому происходит подключение.
  • Для каждого пользователя файлы .rdp хранятся в папке «Мои документы» как скрытые.

Примеры команды MSTSC

Для подключения к удаленному рабочему столу сервера с IP-адресом 192.168.1.1 необходимо ввести команду: mstsc /v:192.168.1.1

Меня всегда напрягал момент поиска утилиты удаленного рабочего стола в меню Пуск. Никогда не помнил, в каком именно разделе она находится и всегда тратил много времени на поиск.
Так я долго мучился,пока один добрый человек (спасибо тебе, Паша) не показал мне:
Win + R, mstsc

2016-11-30_12-58-20

mstsc.exe — такое имя файла имеет утилита удаленного рабочего стола. Просто запомнить, легко вводить.

Параметр Описание
<имя файла> Задает имя файла .rdp для подключения.
/v:<Server[:<Port>] Задает имя удаленного компьютера, к которому необходимо подключиться и, опционально, номер порта подключения
/console Коннект к сеансу физической консоли (сеанс 0).
/admin Подключает к сеансу для администратирования.
/f Запуск удаленного рабочего стола в полноэкранном режиме.
/w:<ширина> Указывает ширину экрана удаленного рабочего стола.
/h:<высота> Указывает высоту экрана удаленного рабочего стола.
/public Запускает удаленный рабочий стол в общедоступном режиме.
/span Сопоставление ширины и высоты удаленного рабочего стола с локальным виртуальным рабочим столом и развертывание на несколько мониторов при необходимости.
/multimon Задает расположение мониторов сеанса служб удаленного рабочего стола в соответствии с текущей конфигурацией на стороне клиента.
/edit <имя файла> Открывает указанный файл .rdp для редактирования.
/migrate Переносит устаревшие файлы подключений, созданные диспетчером клиентских подключений, в новые файлы .rdp
/control разрешает управление сеансом
/? Показывает помощь по параметрам командной строки.

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

2016-11-30_10-41-49

Следует заметить, что ключ /console применяется для подключения к сеансу физической консоли на сервере (также известный как сеанс 0). Этот режим использовался в Windows Server 2003. В Windows Server 2008 или Windows Server 2008 R2,а также более новых версий, данный режим является устаревшим, т.к. сеанс 0 стал неинтерактивной сессией, зарезервированной для службы.

Поэтому RDC 6.1  не поддерживает ключ /console. Тем не менее, для обеспечения обратной совместимости, можно использовать параметр /admin для подключения к сеансу физической консоли на сервере под управлением Windows Server 2003. Подробнее можно почитать в данной статье: Изменения для удаленного администрирования в Windows Server 2008

Кроме того, ключ /admin обладает еще и следующими особенностями:

  • При использовании этого ключа с MSTSC соединения не требуется лицензии клиентского доступа (CAL) Terminal Services.
  • Ключ /admin связан с повышением прав. Например, если на пользователя, имеющего полномочия применять ключ /admin, наложен запрет Deny Users Permissions To Log On To Terminal Server, он сможет подключиться через mstsc /admin.
  • Даже если сервер терминала не принимает новых сеансов, все же можно создать сеанс /admin.
  • Сеанс /admin не учитывается в счет предела, установленного на сервере терминала с целью ограничить число сеансов.

Как обычно, ссылки к дополнительной информации:

MSTSC /console is now MSTSC /admin
Microsoft TechNet — Опции командной строки mstsc
Подключение к удаленному столу (клиент служб терминалов версии 6.0)

Все статьи на тему RDP и устранения проблем в его работе на нашем сайте.

(Visited 54 057 times, 8 visits today)

Posted by Rewalon

Что нужно для psexec

Для работы PsExec на удалённом компьютере не требуется никакого программного обеспечения — то есть на компьютере, которым вы будете управлять, не нужно устанавливать никакую клиентскую часть. Но нужно соблюдение некоторых условий, чтобы PsExec работала, поэтому если первая попытка не удалась, то проверьте следующие требования.

1. На обеих машинах, т.е. удалённом компьютере (которым будем управлять) и локальном компьютере (с которого будем управлять), должен быть включён общий доступ к файлам и принтерам. Для их включения смотрите статью «SMB: настройка общей сетевой папки в Windows».

Что такое psexec и pstools

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


Состав PsTools:

  • PsExec используется для удалённого выполнения команд или получения шелла (оболочки) на удалённой системе
  • PsFile используется для вывода списка удалённо открытых файлов
  • PsGetSid используется для отображения идентификатора безопасности для удалённого компьютера или пользователя
  • PsInfo используется для получения подробной информации об удалённой системе
  • PsKill используется для остановки процесса в удалённой системе по имени или идентификатору
  • PsList используется для детального отображения процессов в удалённой системе
  • PsLoggedOn используется для вывода списка зарегистрированных пользователей в удалённых системах
  • PsLogList, используемый для отображения журналов событий на удалённых системах
  • PsPasswd используется для изменения заданного пароля пользователя в удалённой системе
  • PsPing используется для пинга из удалённой системы
  • PsServervice используется для перечисления и управления службами Windows в удалённой системе
  • PsShutdown используется для выключения, выхода из системы, приостановки и перезапуска удалённой системы Windows
  • PsSuspend используется для приостановки и возобновления процессов в удалённой системе Windows
  • PsUptime используется для отображения времени работы удалённой системы

Pass the hash (использование хеша вместо пароля)

Указывать в командной строке пароль плохо для безопасности. А использование интерактивного ввода не позволяет использовать psexec.exe в скриптах. Выход из этой ситуации — использовать хеш пароля.

PsExec не может напрямую использовать хеш (хотя это ошибочно утверждается в некоторых инструкциях). Для применения хеша (Pass The Hash) с PsExec нужно использовать Windows Credential Editor или Mimikatz или Metasploit.

Пример выполнения Pass The Hash с PsExec. Вначале в Mimikatz:

Адаптация скриптов powershell для linux


Я сам только начинаю знакомство с PowerShell, но хочу привести интересный пример, как можно самостоятельно решить проблему и запустить скрипт PowerShell в Linux не смотря на то, что он выдавал ошибку.

В Invoke-TheHash есть функция Invoke-SMBEnum, которая выполняет перечисление пользователей, групп, сетевых сессий и совместных ресурсов. В Windows эта функция работает отлично. Попробую использовать её в Linux.

Запускаю консоль PowerShell:

pwsh


Перехожу в папку с уже скаченными скриптами:

cd ./bin/Invoke-TheHash/

Импортирую файл с нужной функцией:

Import-Module .Invoke-SMBEnum.ps1

Запускаю:

Включение удалённого рабочего стола

Проверить есть ли доступ к удалённому рабочему столу можно с помощью команды telnet, попробовав подключиться к соответствующему порту. Для Windows штатным является подключение по протоколу RDP на порт 3389 (хотя, конечно, и порт для RDP можно изменить и использовать другие протоколы). В случае открытого порта (подключения разрешены) мы увидим приглашение командной оболочки telnet:

Если же подключение запрещено, то команда зависнет на этапе “Trying 192.168.2.68…”

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

Если мы получили доступ к командной строке удалённого ПК (см. PsExec выше), то выполняем:

reg add “HKLMSYSTEMCurrentControlSetControlTerminal Server” /v fDenyTSConnections /t REG_DWORD /d 0 /f

Иначе, можно подключиться к реестру через оснастку.

1) Запускаем на удалённом ПК службу “Удаленный реестр”.

  • Входим в локальную оснастку “Службы”:

services.msc

  • Подключаемся к службам удалённого ПК: в боковом меню Службы в контекстном меню выбрать “Подключиться к другому компьютеру…”
  • Находим службу “Удаленный реестр” и меняем тип запуска на “Вручную”
  • Запускаем службу: кнопка “Запустить”

2) Подключаемся к реестру удалённого ПК.

  • На локальном ПК запускаем редактор реестра:

regedit

Пробуем подключиться:

mstsc

3) Если подлкючиться не удаётся, то нужно ещё донастроить брандмауэр на удалённом ПК

  • Получаем досутп к командной строке удалённого ПК с помощью PsExec:

psExec64.exe 192.168.2.68 cmd

  • Добавляем разрешающее правило в брандмауэр Windows на удалённое подключение к рабочему столу (порт 3389):

netsh advfirewall firewall add rule name=”Allow Remote Desktop” dir=in protocol=TCP localport=3389 action=allow

См. также

Задать вопрос по powershell

На этой странице я планирую добавлять ответы на часто возникающие вопросы и решения для частых проблем у новичков с PowerShell, поэтому если вам что-то ещё не понятно, то спрашивайте здесь в комментариях.

Связанные статьи:

Запуск командной строки на удалённом пк

Для подключения можно использовать IP адрес или имя компьютера:

psExec64.exe 192.168.2.68 cmd

или если хотим подключиться не от имени текущего пользователя, то:

PsExec.exe 192.168.2.68 -u ДоменПользователь -p Пароль cmd

Если ПК не в домене, то вместо “Домен” указываем имя ПК.

После удачного подключения изменится заголовок окна.

Запуск скрипта с помощью import-module

При запуске некоторых скриптов может ничего не происходить. Дело в том, что скрипт может содержать в себе функцию, которую нужно импортировать, а затем запустить. Поищите в документации по интересующей вас программе примеры со строкой Import-Module.

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

Import-Module .WinPwn.ps1

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

WinPwn

Инструменты pstools


До сих пор мы рассмотрели возможности утилиты PsExec, которая является самой популярной в пакете PsTools. Но в PsTools ещё много утилит для типичных действий, которые регулярно выполняют системные администраторы. Рассмотрим их далее.

Как в psexec запустить команду с аргументами

Аргументы программы достаточно указать через пробел после самой команды:

Как включить учётную запись администратора

В моих тестах на последних Windows 10 и Windows Server 2021 команда PsExec работает только с учётной записью Администратор. Поэтому в этом разделе описано, как активировать пользователя Администратор, который по умолчанию присутствует в Windows, но в обычных, не серверных версиях, этот пользователь отключён.


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

1. Нажмите клавиши Win r, чтобы открыть окно запуска команды.

2. Введите lusrmgr.msc и нажмите Enter.

3. Откройте Пользователи.

4. Щёлкните правой кнопкой мыши Администратор и выберите Свойства.

5. Снимите флажок «Отключить учётную запись» и нажмите ОК.

6. Снова щёлкните правой кнопкой мыши учётную запись администратора и выберите «Задать пароль».

7. Укажите пароль для учётной записи администратора и нажмите «ОК».

Как вывести список открытых удалённо файлов с помощью psfile


Команду PsFile можно использовать для просмотра или закрытия открытых файлов. Синтаксис очень похож на команду PSexec. В этом примере мы перечислим все открытые удалённо файлы.

.psfile HACKWARE-SERVER -u Администратор -p Aa1

Как вывести список служб

Мы можем перечислить удалённые сервисы с опцией query.

.psservice HACKWARE-SERVER -u Администратор -p Aa1 query

Как выключить, перезагрузить, приостановить удалённую систему с psshutdown

Удалённую систему можно отключить командой PsShutdown, как показано ниже.

.psshutdown HACKWARE-SERVER -u Администратор -p Aa1 -k

Связанные статьи:

Как запустить команду как пользователь system

При выполнении команд в удалённой системе привилегии и владелец процесса будут предоставлены пользователем. Если нам нужно изменить владельца удалённых команд на пользователя SYSTEM, мы указываем опцию -s.


В этом примере мы будем использовать regedit.exe:

.psexec HACKWARE-SERVER -u Администратор -p Aa1 -i -s regedit.exe

Обратите внимание, что если на локальном компьютере нужно запустить программу с привилегиями SYSTEM (это намного более высокий привилегии, чем Администратор), то psexec также поможет. Например, чтобы получить доступ к разделам реестра Windows HKEY_LOCAL_MACHINESAMSAM достаточно выполнить команду:

psexec -s -i regedit.exe

Как запустить команду на удалённой системе

Основное использование команды PsExec — это просто запуск команды в удалённой системе. Чтобы запустить команду в удалённой системе, мы должны указать имя пользователя и пароль вместе с командой для запуска на удалённом компьютере.


Общий вид команды для запуска на удалённой системе:

.psexec КОМПЬЮТЕР -u Администратор -p ПАРОЛЬ КОМАНДА АРГУМЕНТЫ КОМАНДЫ

В этой команде:

Пример выполнения команды ipconfig на удалённом компьютере hackware-server от имени пользователя Администратор с паролем Aa1:

.psexec HACKWARE-SERVER -u Администратор -p Aa1 ipconfig

Как мы видим, команда выполняется в удалённой системе без проблем.


У удалённого компьютера HACKWARE-SERVER IP адресом является 192.168.0.53, поэтому следующая команда эквивалентна предыдущей:

.psexec 192.168.0.53 -u Администратор -p Aa1 ipconfig

Обратите внимание, что в Windows (в противоположность Linux), регистр букв в именах компьютеров, командах и путях не имеет значения — можно использовать буквы любого регистра в любых местах.

Как запустить приложение с графическим интерфейсом на удалённой системе

Операционные системы Windows предоставляют по умолчанию графический интерфейс. PsExec можно использовать для открытия приложения с графическим интерфейсом на удалённой системе в указанной пользовательской консоли. Пользовательская консоль просто означает рабочий стол пользователя.

В этом примере мы запустим notepad.exe на удаленной системе. Пользователь удаленного системного администратора может взаимодействовать с этим блокнотом. То есть программа откроется на удалённой системе, как-либо взаимодействовать с ней на локальной системе не получится.

.psexec HACKWARE-SERVER -u Администратор -p Aa1 -i notepad.exe

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

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

Как запустить скрипт powershell в linux

В Linux для вызова консоли PowerShell нужно набрать:

pwsh

Затем в консоли PowerShell либо просто запустите желаемый скрипт:

./hello_world.ps1


Либо запустите функцию после импорта файла с помощью Import-Module. Пример запуска через импорт одной из функции Invoke-TheHash:

Как запустить скрипт powershell в windows

Для запуска скрипта с расширением .ps1 нужно открыть консоль PowerShell и затем указать полный путь до файла. Вы также можете перейти в папку со скриптом либо с помощью команды cd, либо, если вы хотите полностью окунуться в стиль PowerShell, то можете использовать Set-Location.

Как запустить службу удалённо

Удалённый сервис может быть запущен с опцией start. В этом примере мы запустим сервис с именем mysql.

.psservice HACKWARE-MIAL -u Администратор -p 1234 start mysql


После запуска сервиса будет выведена информация о нём.

Как изменить пароль на удалённой системе с помощью pspasswd

Пароли пользователей удалённой системы можно легко изменить с помощью команды PsPasswd. В этом примере мы изменим пароль администратора на 123456Aa.

.pspasswd HACKWARE-SERVER -u Администратор -p Aa1 Администратор 123456Aa

Как копировать исполнимый файл с локального на удалённую систему

Выполнение команд в удалённой системе — очень полезная функция, но есть и другая полезная функция, которая облегчит работу системных администраторов и пентестеров. PsExec может использоваться для копирования исполнимых файлов из локальной системы в удалённую систему. Мы задействуем опцию -c для операции копирования. По завершении команд скопированный экземпляр будет удалён.

В этом примере мы скопируем cmd.exe. После завершения операции копирования в удалённой системе будет запущен cmd.exe.

.psexec HACKWARE-SERVER -u Администратор -p Aa1 -c cmd.exe


Как мы видим, мы получаем оболочку cmd в удалённой системе.

С опцией -c можно указать любой файл.

Ещё один пример:

psexec J3BCD011 -c "Z:filesccleaner.exe” cmd /S

В последнем примере как использовать PsExec мы используем опцию -c для копирования программы ccleaner.exe на удалённый компьютер J3BCD011, а затем запускаем выгруженный файл с параметром /S, который говорит CCleaner включить тихую установку (не требует ввода пользователя). Добавление такого аргумента требует cmd.

Как обновить powershell до последней версии

По умолчани в Windows 10 предустановлена версия PowerShell 5, но в настоящее время последней версией является PowerShell 7. Чтобы обновиться до последней версии смотрите статью «Как установить PowerShell 7 в Windows 10». Обратите внимание, что PowerShell 7 не заменит PowerShell 5. То есть в системе будут доступны обе версии PowerShell.

Как остановить службу удалённо

В следующем примере мы остановим службу mysql:

.psservice HACKWARE-MIAL -u Администратор -p 1234 stop mysql

Как получить информацию об удалённой системе с psinfo

PsInfo — это инструмент, используемый для получения об удалённой системе информации, такой как время работы, версия, вариант Windows и т. д.

.psinfo HACKWARE-SERVER -u Администратор -p Aa1


Следующая информация об удалённой системе предоставлена в PsInfo:

  • Uptime показывает, сколько дней и часов работает система
  • Kernel Version показывает ядро операционной системы
  • Product Type показывает версию операционной системы
  • Product Version версия продукта
  • Kernel Build Number номер сборки ядра
  • Registered Organization организация
  • Registered Owner владелец
  • IE Version показывает версию Internet Explorer
  • System Root показывает, где установлена операционная система
  • Processor показывает количество процессоров или потоков
  • Processor Speed скорость (частота) центрального процессора
  • Processor Type показывает подробную версию и имя процессора
  • Physical Memory количество физической памяти
  • Video Driver показывает имя загруженного драйвера

Как получить процессов в удалённой системе с pslist

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

.pslist HACKWARE-SERVER -u Администратор -p Aa1

Вывод предоставит следующую информацию о процессах удалённой системы.

  • Name — это имя исполняемого файла
  • Pid — это ID процесса, который идентифицирует процессы (то есть отделяет друг от друга, является уникальной характеристикой процессов)
  • Pri является приоритетом, который влияет на производительность процесса в периоды высокой нагрузки
  • Thd — это номер потока
  • Hnd — это счётчик открытых файловых обработчиков
  • CPU Time — это общее использование ресурсов центрального процессора
  • Elapsed Time — это время от начала процесса

Как получить список sid на удалённой системе с psgetsid


SID используется для более детальной идентификации пользователей Windows. Мы можем перечислить SID предоставленных пользователей с помощью команды PsGetSid, как показано ниже.

.psgetsid HACKWARE-SERVER -u Администратор -p Aa1

Как получить список журналов событий на удалённой системе с помощью psloglist

Журналы удалённой системы могут быть легко выгружены в локальную систему с помощью команды PsLogList. Если мы используем эту команду без каких-либо дополнительных параметров, она выведет все журналы событий из удалённой системы, которые заполнят окно консоли. Так что для примера мы с опцией -m ограничим вывод последними 5 минутами журналов событий.

.psloglist HACKWARE-SERVER -u Администратор -p Aa1 -m 5

Как получить справку по командам в powershell

Если вы хотите получить справку по опциям функции, команды или программы в PowerShell, то используйте команду Get-Help, после которой укажите другую команду, по которой вы хотите получить справку:

Get-Help КОМАНДА

Для получения справки по Set-Location:

Get-Help Set-Location


Для получения справки по Invoke-SMBEnum (после импорта функции из файла):

Get-Help Invoke-SMBEnum

Как создать интерактивную оболочку с подключением к удалённой системе

До сих пор мы выполняли команды удалённо. После выполнения команды подключение к удалённой системе закрывалось. Это как сессионное соединение. С помощью PsExec мы можем получить удалённую оболочку или командную строку (по аналогии SSH в Linux).

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

Как убить процесс в удалённой системе с pskill

Процессы, запущенные в удалённой системе, могут быть легко остановлены с помощью команды PsKill. Чтобы убить процесс, мы должны указать идентификатор процесса или имя процесса в качестве аргумента. Мы убьём удалённый процесс с идентификатором процесса 2064.

.pskill HACKWARE-SERVER -u Администратор -p Aa1 2064

Как установить powershell в linux

PowerShell работает также и в Linux, но некоторые команды PowerShell отсутствуют в Linux. При запуске скриптов PowerShell в Linux возникнут проблемы в следующих случаях:

  • в скрипте используются команды, которые отсутствуют в Linux версии PowerShell (например, из-за того, что связаны с настройками Windows или неприменимы для Linux по другим причинам)
  • скрипт обращается к переменным окружения Windows
  • в скрипте используются утилиты Windows, отсутствующие в Linux

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


Многие дистрибутивы Linux поддерживаются официально и простые инструкции по установке PowerShell в свой дистрибутив, а также установочные файлы вы найдёте здесь:

Отключение брандмауэра

Отключаем брандмауэр для всех профилей сети:

netsh advfirewall set allprofiles state off

Включение:

netsh advfirewall set allprofiles state on

Отличия powershell и cmd в windows


В Windows PowerShell уже давно устанавливается по умолчанию.

Чтобы открыть PowerShell, нажмите Win x и выберите Windows PowerShell (администратор):

В приглашении командной строки вы увидите PS и текущую рабочую директорию:

Чтобы открыть CMD нужно нажать Win r, напечатать cmd и нажать ENTER:


Приглашение командной строки CMD выглядит так:

В CMD можно запустить:

  • утилиты командной строки Windows
  • встроенные функции CMD
  • файлы .bat

В PowerShell можно запустить всё то же самое, что и в CMD, а также дополнительно:

  • команды языка PowerShell
  • скрипты PowerShell


В PowerShell сработает такая простая команда как dir:

dir

Но если выполнить эту команду в PowerShell и в CMD, то можно увидеть, что вывод этих команд различается.

А если попытаться выполнить эту команду с опцией, например:

dir /A

То в CMD она сработает, а в PowerShell завершится ошибкой.

Дело в том, что вместо реализации таких же утилит как в CMD, в PowerShell используются собственные командлеты, работа которых различается, например, выводом или поддержкой опций. В PowerShell сработают команды cd, ls, dir, cat, man, kill, mount, move, sort, pwd, wget, curl и другие, знакомые по Linux, но это НЕ ОЗНАЧАЕТ что эти команды поддерживают те же самые опции, что и опции в Linux.

Get-Alias

Переименование удалённого пк

Текущее имя ПК можно увидеть через запрос к значению в реестре:

reg query “HKLMSYSTEMCurrentControlSetControlComputerNameComputerName” /v ComputerName

Изменяем в реестре имя ПК на New-PC-Name:

Для вступления в силу нового имени нужно перезагрузить компьютер:

shutdown /r /f /t 180

Здесь мы дали пользователю 3 минуты (180 секунд) на закрытие документов, но можно этот параметр изменить в соответствии со случаем.

Пинг с psping


Ещё одним полезным инструментом является PsPing, который создает ICMP-пакеты для проверки связи. Команда в примере запускается на локальной системе (но может быть запущена и удалённо).

Приветствую. Иногда возникают задачи когда нужно что-либо сделать на удаленном компьютере, при этом либо нет возможности подключиться по RDP, например, если вдруг сервер сильно загружен, и ему не хватит ресурсов для запуска терминальной сессии (да да, у меня такое встречалось, не сказать что часто, но бывало smiley). Либо из командной строки задачу сделать быстрее. Ну или еще как вариант, если нужно что то сделать скрытно, в том случае если пользователь в момент когда это нужно сделать работает за компьютером. Пользователям Linux с этим гораздо проще, у них есть ssh. Но и в Windows есть возможность подключаться, с позволения сказать, в командную строку.

В общем и целом на помощь к нам приходят утилиты SysInternals, а именно – pstools, а еще конкретнее – psexec из этого набора утилит. Скачать это добро можно <![CDATA[]]>здесь<![CDATA[]]>.

После того как скачали, нужно эти утилиты разархивировать куда-нибудь. Я обычно на диске C: создаю папку ps, что бы удобнее было добираться до утилит. Установки они не требуют. Для того что бы подключиться к удаленному компьютеру в командной строке набираем:

c:psPsExec.exe 192.168.1.114 -u domainuser -p password cmd

За место cmd можно например запустить какой-нибудь батник или другую команду.

Видео по теме:

Управление службами в удалённой системе с помощью psservice

Команда PsService используется для просмотра, запуска, остановки служб в удалённой системе.

Установка powershell в kali linux

PowerShell добавлен в стандартные репозитории Kali Linux, поэтому установка очень простая:

sudo apt install powershell

Как перенаправить вывод команды psexec

После запуска команды в удалённой системе вывод команды будет напечатан в текущий стандартный вывод, который является нашей текущей оболочкой (окном командной строки). Этот вывод может быть перенаправлен в файл с помощью символа >. Если у нас много удалённых систем для запуска команд, эта опция будет очень полезна.

.psexec HACKWARE-SERVER -u Администратор -p Aa1 ipconfig > HACKWARE-SERVER_ifconfig


В этом примере выходные данные команды ipconfig сохраняются в файл с именем HACKWARE-SERVER_ifconfig.

Для вывода содержимого файла можно использовать команду Get-Content или её более короткий псевдоним cat:

cat .HACKWARE-SERVER_ifconfig

     Если вы интересуетесь используете Windows Remote Desktop, то вы уже наверняка знаете, что эта служба делает, но, возможно, у вас нет полного представления о ее возможностях. 

      Windows Remote Desktop позволяет вам удаленно контролировать практически любой ПК или сервер с Windows. Вы можете удаленно управлять ПК с ПК, сервером с сервера, ПК с сервера или сервером с ПК. Серверный компонент RDP встроен в операционную систему Windows — в XP, Vista и Windows 7 и 8 (но вы должны включить remote desktop на целевом компьютере). Если вы удаленно работаете с компьютером, это соединение с ПК является единственным, и вы при этом контролируете консоль. 

      Если же вы работаете с сервером (скажем, с Windows 2003 или 2008), вы можете подключить многих пользователей к серверу с помощью службы Terminal Services.

Однако, вне зависимости от того, используете ли вы серверную ОС или нет, клиентская часть одна и та же — Remote Desktop Connection или клиент Remote Desktop, как я ее называю. Исполняемый файл для удаленного соединения называется mstsc.exe, он располагается в%systemroot%/system32/mstsc.exe.

Давайте же разберемся с тем, что вы можете сделать с помощью mstsc.exe’

Запуск Windows Remote Desktop Connection из командной строки

В подсказке для администраторов от Криса Сандера (Chris Sander) на WindowsNetworking.com (Использование Remote Desktop Client с помощью командной строки) разъясняются основные моменты работы с Windows Remote Desktop из командной строки. Как указывает Крис, базовый синтаксис команды mstsc.exe таков::

mstsc.exe {ConnectionFile | /v:ServerName[:Port]} [/console] [/f] [/w:Width/h:Height]

Но если вы запустите mstsc /? в Vista, 7 и 8, вы обнаружите еще несколько опций:

Рисунок 1: Экран помощи по использованию Remote Desktop Connection

В большинстве компьютеров, с которыми я сталкивался, через меню Start обнаружить remote desktop connection не так просто. Из-за этого я привык запускать Remote Desktop таким образом: Start — Run, потом нужно набрать mstsc и нажать Enter.

Обычные причины запуска mstsc.exe через командную строку

Я люблю Remote Desktop, потому что, используя его, я могу соединяться со своего ноутбука или домашнего компьютера с любым компьютером или сервером в своей инфраструктуре. Это сильно воодушевляет.

Мне часто приходится использовать опции командной строки. Иногда возникает необходимость сохранить RDP File, являющийся файлом сохраняемой конфигурации для конкретного часто осуществляемого RDP-соединения с конкретным сервером или ПК. Естественно, для одного сервера у вас может быть несколько RDP-файлов, если вам нужно несколько конфигураций.

Эти файлы .rdp представляют собой простые текстовые файлы; их можно создавать и редактировать блокнотом. Вот один для примера:

Рисунок 2: RDP-файл, открытый в блокноте

Рисунок 2: RDP-файл, открытый в блокноте

Хотя это можно делать с помощью блокнота, обычно редактирование файлов .rdp происходит через GUI клиента Remote Desktop, так как он дает возможность открывать и сохранять (Open, Save и Save as) файлы конфигурации:

Рисунок 3: Открытие и сохранение конфигурационных настроек RDP

Рисунок 3: Открытие и сохранение конфигурационных настроек RDP

Я также могу редактировать конкретный файл через GUI, инициируя этот процесс в командной строке с помощью опции /edit команды mstsc:

mstsc /edit test.rdp

Некоторые причины сохранения RDP-файлов для использования в дальнейшем:

  • Наличие сохраненных конфигураций для нескольких серверов и помещение этих настроек на рабочий стол или в папку в меню Start:

Рисунок 4: Создание нескольких RDP-соединений в меню Start

Рисунок 4: Создание нескольких RDP-соединений в меню Start

  • Наличие нескольких версий одной конфигурации; скажем, я соединяюсь с виртуальным рабочим столом с помощью VDI, и я создаю иконку для полноэкранного режима и иконку для разрешения 800×600
  • Наличие одного RDP-файла просто для соединения с сервером и файла для соединения с сервером и запуска приложения (что можно настроить в файле .rdp)

И как пример, использование RDP как опции в программах-пинговалках. И инфраструктурных картах. Найти необходимый узел на карте и сразу подключиться к нему. Но для этого в программе нужно задать опции командной строки (Рисунок 4.1).

Рисунок 4.1: Подключение к удаленному компьютеру из программы-пингера FriendlyPinger.

Создание ярлыка на рабочем столе для запуска Remote Desktop

Скажем, вы хотите создать ярлык на рабочем столе для соединения с конкретным сервером. При этом вы можете использовать базовый набор опций командной строки, либо воспользоваться этими опциями и файлом соединения .rdp.

Другим способом является ввод полной строки командного интерфейса в мастере создания ярлыка соединения на рабочем столе.

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

  • Соединения с сервером ‘exchange’
  • Соединения с консолью этого сервера
  • Создать окно разрешением 800×600

Для этого вам нужно запустить команду:

mstsc.exe /v:exchange /admin /w:800 /h:600

А для создания ярлыка на рабочем столе вам нужно ввести эту строку в create shortcut location, например:

Рисунок 5: Создание ярлыка на рабочем столе для соединения RDP

Рисунок 5: Создание ярлыка на рабочем столе для соединения RDP

Однако, если этих базовых опций недостаточно, вам понадобиться использовать файл соединения .rdp connection file.

Для этого вам потребуется запустить mstsc.exe, а затем настроить ваше соединения так, как вам нужно. Добавляйте звук, настраивайте пропускную способность, указывайте приложение для запуска, увеличивайте производительность, подсоединяйте локальные устройства и ресурсы типа принтеров и буфера обмена. Когда все будет готово, просто нажмите на кнопку Save as на вкладке General под настройками конфигурации. При сохранении дайте имя вроде имясервера. Убедитесь, что вам известно, в какую папку отправляется RDP-файл при сохранении. Я также рекомендую протестировать соединение, чтобы убедиться, что все работает правильно.

После сохранения вы можете закрыть окно Remote Desktop Connection и перейти к созданию ярлыка на рабочем столе. Когда вам нужно будет указать путь для ярлыка, введите файл соединения после mstsc.exe. Убедитесь, что вводите полный путь к RDP-файлу. Этот файл должен находиться либо по указанному вами пути, либо ярлык и файл .rdp должны находиться в одной и той же папке. То есть это должно выглядеть примерно так:

Mstsc.exe c:usersdaviddocumentsexchange.rdp

ЛИБО, если вы хотите запускать mstsc.exe через конфигурационный файл, вам вообще не нужно создавать ярлыки. Все, что вам нужно сделать – сохранить файл настроек RDP, а потом запустить его. Сам файл при запуске ассоциируется с mstsc.exe, и ваше соединение с сервером, указанным в конфигурационном файле, будет инициировано.

И последняя подсказка ‘ Если вы хотите изменить настройки по умолчанию, используемые mstsc.exe для запуска без определенных конфигураций, вы можете отредактировать файл Default.rdp в папке документов.

Понравилась статья? Поделить с друзьями:
  • Как подключиться к вай фай на ноутбуке windows 10 после переустановки
  • Как подключиться к вай фай без пароля на ноутбуке windows 10
  • Как подключиться к блютуз наушникам на ноутбуке windows 10
  • Как подключиться к удаленному компьютеру через vpn windows 10
  • Как подключиться к беспроводным наушникам на ноутбуке windows 7