Содержание
PsExec — это портативный инструмент от Microsoft, который позволяет удаленно запускать процессы с использованием учетных данных любого пользователя. Это немного похоже на программу удаленного доступа, но вместо того, чтобы управлять удаленным компьютером с помощью мыши, команды отправляются на компьютер через командную строку.
Вы можете использовать PsExec, чтобы не только управлять процессами на удаленном компьютере, но и перенаправлять вывод консоли приложения на локальный компьютер, создавая впечатление, будто процесс выполняется локально.
Для работы PsExec на удаленном компьютере не требуется никакого программного обеспечения, но следует помнить о нескольких вещах, если инструмент не запускается правильно с первой попытки.
Как настроить PsExec
Если PsExec является переносимым и его не нужно копировать на удаленный компьютер, какой тип настройки ему действительно нужен?
Инструмент работает только при определенных условиях. А именно, когда общий доступ к файлам и принтерам включен как на локальном, так и на удаленном компьютере, и когда на удаленном компьютере правильно установлен общий ресурс $ admin для предоставления доступа к папке \ Windows \.
Вы можете дважды проверить, что общий доступ к файлам и принтерам включен, заглянув в настройки брандмауэра Windows:
Войти firewall.cpl в диалоговом окне «Выполнить». Один из способов открыть Run — через WIN + R, Сочетание клавиш.
Выбрать Разрешить приложение или функцию через брандмауэр Windows с левой стороны окна.
Это может читаться как Разрешить приложение или функцию через брандмауэр Защитника Windows в зависимости от того, как настроен ваш компьютер, но это один и тот же вариант.
Убедись Общий доступ к файлам и принтерам имеет галочку в Частный коробка справа Если это не так, поставьте флажок в этом поле и выберите Хорошо.
Если вы не можете изменить настройки брандмауэра, потому что они неактивны, нажмите Изменить настройки в верхней части окна.
Теперь вы можете выйти из любых открытых настроек брандмауэра Windows.
Теперь, когда брандмауэр Windows правильно настроен для PsExec, у вас не должно возникнуть проблем с доступом к общему ресурсу $ admin на удаленном компьютере, если выполняются следующие условия:
- Оба компьютера принадлежат одной рабочей группе
- Вы знаете пароль к учетной записи администратора на удаленном компьютере
Посмотрите это руководство на Wintips.org, если вам нужна помощь в выполнении этих задач или если вы сделали их правильно, но позже, после попытки использовать PsExec, как описано ниже, вы получите ошибку «отказано в доступе».
Как использовать PsExec
Прежде чем использовать PsExec для выполнения удаленных команд, вы должны загрузить программу и разместить командную строку таким образом, чтобы вы могли правильно использовать инструмент.
Загрузите PsExec на компьютер, на котором будут выполняться удаленные команды. PsExec доступен бесплатно от Microsoft на Sysinternals как часть PsTools.
Извлеките файлы из загрузки PsTools.zip. Вы можете сделать это, щелкнув правой кнопкой мыши по ZIP-файлу и выбрав Извлечь все. Любая сторонняя программа извлечения файлов тоже будет работать.
Откройте папку, в которой находятся извлеченные файлы, и с панели навигации вверху папки сотрите то, что там есть, и введите CMD.
Другой способ сделать это, по крайней мере, в некоторых версиях Windows, это Shift + правый клик пустое место в папке PsTools и выберите Откройте командное окно здесь.
Откроется командная строка в этой папке, чтобы вы могли запускать команды через PsExec.
С помощью командной строки теперь откройте папку, содержащую PsExec.exe, вы можете начать вводить команды на удаленном компьютере.
Как и любой инструмент командной строки, PsExec работает только тогда, когда его синтаксис точно соблюдается. Как только вы поймете, как вводить команды так, как их понимает PsExec, вы можете управлять программой из любой командной строки.
Вот как должны вводиться команды PsExec:
PsExec [\\компьютер [,компьютер2 [, …] | @файл\]] [-U имя пользователя [-п пароль][-н с] [-р наименование услуги][-час] [-L] [-s|-е] [-Икс] [-я [Сессия]] [-с исполняемый [-е|-v]] [-вес Каталог] [-d] [—
Это может выглядеть сложно и запутанно, но не волнуйтесь! Внизу этой страницы есть несколько примеров, которые вы можете использовать на практике.
Приведенный выше синтаксис используется для выполнения любого из следующих аргументов команды PsExec:
параметр | объяснение |
— | Отдельные процессоры, на которых может запускаться приложение, с запятыми, где 1 — это процессор с наименьшим номером. Например, чтобы запустить приложение на CPU 2 и CPU 4, вы должны ввести: -2,4 |
-с | Скопируйте указанный исполняемый файл в удаленную систему для выполнения. Если опущено, приложение должно находиться в системном пути на удаленной системе. |
-d | Не ждите окончания процесса (не интерактивно). |
-е | Не загружает профиль указанной учетной записи. |
-е | Скопируйте указанную программу, даже если файл уже существует в удаленной системе. |
-я | Запустите программу, чтобы она взаимодействовала с рабочим столом указанного сеанса в удаленной системе. Если сеанс не указан, процесс выполняется в сеансе консоли. |
-час | Если целевая система — Windows Vista или выше, запустите процесс с повышенным токеном учетной записи, если он доступен. |
-L | Запустите процесс как пользователь с ограниченными правами (удаляет группу «Администраторы» и разрешает только привилегии, назначенные группе «Пользователи»). В Windows Vista этот процесс выполняется с низким уровнем целостности. |
-N | Указывает время ожидания (в секундах) для подключения к удаленным компьютерам. |
-п | Определяет необязательный пароль для имени пользователя. Если опущено, вам будет предложено ввести скрытый пароль. |
-р | Определяет имя удаленной службы для создания или взаимодействия. |
-s | Запускает удаленный процесс в системной учетной записи. |
-U | Определяет необязательное имя пользователя для входа на удаленный компьютер. |
-v | Копирует указанный файл, только если он имеет более высокий номер версии или новее, чем в удаленной системе. |
-вес | Устанавливает рабочий каталог процесса (относительно удаленного компьютера). |
-Икс | Отображает пользовательский интерфейс на защищенном рабочем столе Winlogon (только для локальной системы). |
—приоритет | Задает -low, -belownormal, -abovenormal, -high или -realtime для запуска процесса с другим приоритетом. Используйте -background для запуска с низким объемом памяти и приоритетом ввода / вывода в Windows Vista. |
компьютер | Указывает PsExec запустить приложение на указанных удаленных компьютерах. Если опущен, PsExec запускает приложение в локальной системе, и, если подстановочный знак (\\ *), PsExec запускает команду на всех компьютерах в текущем домене. |
@файл | PsExec выполнит команду на каждом из компьютеров, указанных в файле. |
CMD | Имя приложения для выполнения. |
аргументы | Аргументы для передачи (обратите внимание, что пути к файлам должны быть абсолютными путями в целевой системе). |
Примеры команд PsExec
Вот несколько примеров того, как использовать PsExec для выполнения таких задач, как запуск удаленных команд командной строки, управление службами Windows, а также запуск или установка программ.
psexec \\ 192.168.86.62 cmd
Один из самых простых способов использовать PsExec для запуска команд командной строки на удаленном компьютере — выполнить cmd, следуя IP-адресу компьютера, 192.168.86.62 в этом примере.
Выполнение этого откроет обычное окно командной строки в существующем и позволит вам вводить каждую команду, как если бы вы сидели перед удаленным компьютером. Например, вы можете ввести ipconfig чтобы получить эти результаты с другого компьютера, или MkDir создать новую папку, реж перечислить содержимое папки и т. д.
psexec \\ mediaserver01 tracert lifewire.com
Другой способ использования PsExec — ввод отдельных команд, но без запуска полной командной строки. В этом примере мы выполняем команду tracert для lifewire.com, и поскольку мы указали имя удаленного компьютера, mediaserver01, результаты команды относятся к этому компьютеру, а не к локальному (то есть к тому, на котором вы работаете). ).
psexec \\ FRONTDESK_PC -u tomd -p 3 * (том # 87 net start spooler
Приведенный выше пример команды PsExec запускает службу диспетчера очереди печати удаленно на компьютере FRONTDESK_PC с использованием пароля пользователя tomd 3 * (tom # 87.
Эту же команду можно использовать для удаленной остановки службы, но вместо «пуск» введите «стоп».
psexec \\ mikelaptopw10 -i -s C: \ Windows \ regedit.exe
Здесь мы используем PsExec для запуска редактора реестра на удаленной машине mikelaptopw10 в системной учетной записи. Поскольку используется -i, программа откроется в интерактивном режиме, что означает, что она действительно запустится на экране удаленного компьютера.
Если бы -i была опущена в приведенной выше команде, она выполнялась бы в скрытом режиме, чтобы не показывать какие-либо диалоговые окна или другие окна.
psexec \\ J3BCD011 -c "Z: \ files \ ccleaner.exe" cmd / S
В этом последнем примере использования PsExec мы используем -c, чтобы скопировать программу ccleaner.exe на удаленный компьютер J3BCD011, а затем выполнить ее с параметром / S, так как это то, что CCleaner использует для включения автоматической установки (требуется нет ввода пользователя). Для добавления такого аргумента требуется cmd.
PsExec может быть опасным
Очень важно понимать, насколько мощен PsExec и как его можно использовать для компрометации компьютера при использовании в небезопасной среде.
Например, объединение -с, -U, а также -п, В частности, кто-либо, имеющий сетевое подключение к вашему компьютеру и обладающий знаниями об учетных данных администратора, сможет запускать секретные вредоносные программы, используя чьи-либо учетные данные.
Даже этот последний, вполне приемлемый пример из предыдущего раздела приобретает совершенно новую цель, если учесть, что вместо CCleaner кто-то может установить все что угодно, в фоновом режиме, и никакие окна не показывают, что что-то происходит.
Все это говорит о том, что, учитывая необходимые изменения в брандмауэре и знание учетных данных администратора, кто-то должен был бы знать, нет оснований для беспокойства, поскольку пароль администратора на удаленном компьютере является сложным и приняты другие основные меры безопасности.
Некоторые антивирусные программы ошибочно идентифицируют PsExec как опасный файл, но эти предупреждения можно игнорировать, если вы точно знаете, что используемая вами программа взята из приведенного выше источника Microsoft. Это происходит потому, что известно, что вредоносное ПО использует PsExec для передачи вирусов.