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

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

PsExec — это утилита командной строки, с возможность вызывать в интерактивном режиме интерфейс командной строки в удаленных системах Windows и удаленно запускать различные команды.

Эта утилита ставиться на только на компьютер администратора. Для установки необходимо ее скачать, вот ссылка на официальный сайт Microsoft. После скачивания архива его необходимо разархивировать, в разархивированной папке найти файл PsExec.exe. Нажмите на нем два раза, появиться окно с лицензионным соглашением, нажимаем «Agree«.

На этом установка PSEXEC можно считать оконченной.

Разберем синтаксис команды:

 psexec [\\компьютер[,компьютер2[,…] | @файл][-u пользователь [-p пароль]][-n s][-l][-s|-e][-x][-i [сеанс]][-c [-f|-v]][-w каталог][-d][-<приоритет>][-a n,n,… ] программа [аргументы]

компьютер   Указывает программе PsExec, что нужно запустить приложение на заданном компьютере или компьютерах. Если имя компьютера не указано, то программа PsExec запустит приложение в локальной системе, если же вместо имени компьютера задан символ «звездочка» (\\*), то программа PsExec запустит приложение на всех компьютерах текущего домена.

@файл  Указывает программе PsExec, что нужно запустить приложение на всех компьютерах, перечисленных в заданном текстовом файле.

-a    Процессоры, на которых можно запустить приложение, отделяются запятыми, при этом процессоры нумеруются, начиная с 1. Например, чтобы запустить приложение на процессорах втором и четвертом, введите «-a 2,4»

-c   Указанная программа копируется в удаленную систему для выполнения. Если этот параметр не задан, то приложение должно находиться в системной папке удаленной системы.

-d   Указывает, что не нужно ждать завершения приложения. Этот параметр следует использовать только при запуске неинтерактивных приложений.

-e   Указанный профиль учетной записи не загружается.

-f   Указанная программа копируется в удаленную систему, даже если такой файл в удаленной системе уже есть.

-i   Запускаемая программа получает доступ к рабочему столу указанного сеанса в удаленной системе. Если сеанс не задан, то процесс выполняется в консольном сеансе.

-l   При запуске процесса пользователю предоставляются ограниченные права (права группы администраторов отменяются, и пользователю предоставляются только права, назначенные группе «пользователи»). В ОС Windows Vista процесс запускается с низким уровнем благонадежности.

-n   Позволяет задать задержку подключения к удаленным компьютерам (в секундах).

-p   Позволяет указать необязательный пароль для имени пользователя. Если этот параметр опущен, то будет выдан запрос на ввод пароля, при этом пароль не будет отображаться на экране.

-s   Удаленный процесс запускается из системной учетной записи.

-u   Позволяет указать необязательное имя пользователя для входа в удаленную систему.

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

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

-x   Отображает интерфейс пользователя на рабочем столе Winlogon (только в локальной системе).

-приоритет (приоритет)   Позволяет задавать для процесса различные приоритеты: -low (низкий), -belownormal (ниже среднего), -abovenormal (выше среднего), -high (высокий) или -realtime (реального времени).

программа   Имя запускаемой программы.

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

Примеры работы команды PSEXEC:

1) Для того чтобы запустить командную строку другого компьютера, необходимо ввести
psexec \\<имя компьюетра> cmd

например:
psexec \\WIN782 cmd

после этого можете вводить необходимые вам команды.

2) Для того чтобы запустить какою либо программу (в данном примере test.exe) на удаленном компьютере необходимо выполнить команду, (эта команда копирует программу test.exe в удаленную систему и выполняет ее в интерактивном режиме).

psexec \\<имя компьютера> -c test.exe

например:
psexec \\WIN782 -c test.exe

3) Если в удаленной системе такая программа уже установлена и находится не в системном каталоге, укажите полный путь к этой программе

psexec \\WIN782 c:\temp\test.exe

Я очень надеюсь, моя статья помогла Вам! Просьба поделиться ссылкой с друзьями:

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

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

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

c:\ps\PsExec.exe \\192.168.1.114 -u domain\user -p password cmd

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

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

11 8

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


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


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

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

Скачать утилиту PsExec можно с официального сайта Microsoft совместно с набором инструментов PsTools: https://docs.microsoft.com/en-us/sysinternals/downloads/psexec 

Утилита PsExec не требует установки. Достаточно загрузить ее в папку на любой диск и выполнять запуск из этой директории. В моем случае программа будет находиться в директории c:\pstools.

Для того, чтобы psexec  беспрепятственно запустился на удаленном компьютере с Windows  версии 7 и позднее, на этих самых удаленных компьютерах, должны быть включены общие административные ресурсы \C$ \D$ \IPC$ \Admin$.

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

reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" /v "LocalAccountTokenFilterPolicy" /t REG_DWORD /d 1 /f

На Windows 10 административные ресурсы включены по-умолчанию.

Узнать включены ли административные ресурсы можно с помощью команды net share.

просмотр общих ресурсов командой net share

Запуск PsExec выполняется через командную строку Windows, так как утилита является консольной.

Для работы с утилитой запускаем командную строку CMD и переходим в папку с программой psexec.

cd c:\pstools

Примеры использования PsExec.

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

psexec \\компьютер [-u пользователь [-p пароль]] программа [аргументы]

Рассмотрим несколько примеров для понимания работы утилиты PsExec.

1. Узнаем  конфигурацию сетевого интерфейса компьютера в сети.

Запускаем программу psexec с указанием ip-адреса удаленного компьютера и командой, которую нужно выполнить.

psexec \\192.168.2.100 ipconfig

В этом примере запуск выполняется для компьютера, находящегося в домене и  cmd работает от имени пользователя, состоящего в группе «Администраторы домена». Поэтому в параметрах запуска psexec не указаны логин и пароль администратора удаленного компьютера.

просмотр сетевых настроек удаленного компьютера с помощью psexec

Для выполнения PsExec на компьютере от имени локального администратора удаленного компьютера необходимо запустить утилиту с параметрами: -u (имя пользователя) -p (пароль пользователя).

psexec \\192.168.2.100 -u admin -p PasSW0rD ipconfig

2. Запускаем исполняемый файл со своего компьютера на удаленный.

psexec \\192.168.2.100 -c c:\patch.bat

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

запуск скрипта на удаленном компьютере с помощью psexec

Если запустить psexec без параметра -с, то указанная директория с запускаемым файлом будет запрашиваться на удаленной системе.

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

3. Запуск PsExec на нескольких компьютерах.

Запуск psexec на двух или трех удаленных компьютерах можно выполнить путем перечисления их имен или ip-адресов.

psexec \\Server1, Server2 -c c:\patch.bat

Когда целевых компьютеров десятки, то перечислять их каждый раз через запятую неудобно. В этом случае можно воспользоватся параметром @ и указать текстовый файл, в котором будет задан список ip адресов компьютеров.

psexec @ip-list.txt cmd -c c:\patch.bat

4. Подключение к командной строке Windows удаленного компьютера.

psexec \\172.16.0.121 cmd

После запуска cmd поменялось окно приветствия — это означает, что в терминал загрузилась среда исполнения команд удаленного компьютера.

Сейчас мы можем полноценно работать с командной строкой удаленного компьютера. Для примера, наберем команду ipconfig, которая нам покажет конфигурацию сетевого интерфейса. Для выхода из удаленной консоли и возврата в свою среду используем команду exit.

Список всех параметров запуска Psexec.

@файл
Указывает программе PsExec, что нужно запустить приложение на всех компьютерах, перечисленных в заданном текстовом файле.

-a
Процессоры, на которых можно запустить приложение, отделяются запятыми, при этом процессоры нумеруются, начиная с 1. Например, чтобы запустить приложение на процессорах втором и четвертом, введите «-a 2,4»

-c
Указанная программа копируется в удаленную систему для выполнения. Если этот параметр не задан, то приложение должно находиться в системной папке удаленной системы.

-d
Указывает, что не нужно ждать завершения приложения. Этот параметр следует использовать только при запуске неинтерактивных приложений.

-e
Указанный профиль учетной записи не загружается.

-f
Указанная программа копируется в удаленную систему, даже если такой файл в удаленной системе уже есть.

-i
Запускаемая программа получает доступ к рабочему столу указанного сеанса в удаленной системе. Если сеанс не задан, то процесс выполняется в консольном сеансе.

-l
При запуске процесса пользователю предоставляются ограниченные права (права группы администраторов отменяются, и пользователю предоставляются только права, назначенные группе «пользователи»). В ОС Windows Vista процесс запускается с низким уровнем благонадежности.

-n
Позволяет задать задержку подключения к удаленным компьютерам (в секундах).

-p
Позволяет указать необязательный пароль для имени пользователя. Если этот параметр опущен, то будет выдан запрос на ввод пароля, при этом пароль не будет отображаться на экране.

-s
Удаленный процесс запускается из системной учетной записи.

-u
Позволяет указать необязательное имя пользователя для входа в удаленную систему.

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

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

-x
Отображает интерфейс пользователя на рабочем столе Winlogon (только в локальной системе).

Is it possible to execute a Windows shell command on a remote PC when I know its login name and password?
Is it possible to do it using client PC’s Windows shell?

Ross Ridge's user avatar

Ross Ridge

38.5k7 gold badges81 silver badges113 bronze badges

asked Aug 13, 2012 at 13:51

bubble's user avatar

0

If you are in a domain environment, you can also use:

winrs -r:PCNAME cmd

This will open a remote command shell.

Code Lღver's user avatar

Code Lღver

15.6k16 gold badges56 silver badges75 bronze badges

answered Jun 16, 2014 at 12:21

user3744855's user avatar

user3744855user3744855

6515 silver badges2 bronze badges

6

psexec \\RemoteComputer cmd.exe

or use ssh or TeamViewer or RemoteDesktop!

answered Aug 13, 2012 at 13:56

Raphi Pour's user avatar

Raphi PourRaphi Pour

4394 silver badges7 bronze badges

3

This can be done by using PsExec which can be downloaded here

psexec \\computer_name -u username -p password ipconfig

If this isn’t working try doing this :-

  1. Open RegEdit on your remote server.
  2. Navigate to HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System.

  3. Add a new DWORD value called LocalAccountTokenFilterPolicy

  4. Set its
    value to 1.
  5. Reboot your remote server.
  6. Try running PSExec again from
    your local server.

answered Jul 16, 2018 at 11:29

Birat Bade Shrestha's user avatar

4

You can use native win command:

WMIC /node:ComputerName process call create “cmd.exe /c start.exe”

The WMIC is part of wbem win folder: C:\Windows\System32\wbem

answered May 20, 2015 at 9:21

Eyal Sooliman's user avatar

3

Especially with the option to install Server Core in Server 2008 and above, connecting to Windows servers over a CLI is increasingly useful ability, if not one that’s very widespread amongst Windows administrators.

Practically every Windows GUI management tool has an option to connect to a remote computer, but there is no such option present in the built-in Windows CLI (cmd.exe), which gives the initial impression that this might not be possible.

Is it possible to remotely management or administer a Windows Server using a CLI? And if so, what options are there to achieve this?

asked Sep 18, 2012 at 11:11

HopelessN00b's user avatar

HopelessN00bHopelessN00b

53.8k33 gold badges137 silver badges210 bronze badges

There are several fairly easy options available for remotely managing a remote Windows Server using a command line, including a few native options.

Native Options:

  1. WinRS/WinRM
    • Windows Remote Shell/Management tool is the easiest way to remotely manage a remote Windows server in a command line utility, and as with most Windows command line utilities, ss64 has a good page on its options and syntax.
    • Although not explicitly stated in the Microsoft documentation, this can be used to launch a remote instance of cmd.exe, which creates an interactive command line on the remote system, rather than as command line option to execute a single command on a remote server.
      • As with: winrs -r:myserver.mydomain.tld cmd
    • This is also the natively-supported option that will probably be most familiar to administrators of other systems (*nix, BSD, etc.) that are primarily CLI-based.
  2. PowerShell
    • Hopefully PowerShell needs no introduction, and can be used to manage remote computers from a CLI using WMI (Windows Management Instrumentation).
    • PowerShell remoting allows the execution of Powershell scripts and commands on remote computers.
    • There are a number of good resources on using WMI + PowerShell for remote management, such as The Scripting Guy’s blog, the MSDN WMI Reference and ss64.com, which has an index of PowerShell 2.0 commands.
  3. Remote Desktop
    • Probably not exactly the first thing to come to mind as a Window CLI option, but of course, using mstsc.exe to connect to a server over Remote Desktop Protocl (RDP) does enable the use of a command line on the remote server.
    • Connecting to a Server Core installation over RDP, is actually possible and will give the same interface as connecting to the console — an instance of cmd.exe.
      • This may be somewhat counter-intuitive, as Server Core lacks a desktop, or the other normal Windows shell options, but there’s a quick article over at petri.co.il about how to manage Server Core over RDP, should one be so inclined.

Popular, Non-Native Options:

Even though Windows now provides a few native options for accessing a remote sever over aCLI, this was not always the case, and as a result, a number of fairly popular 3rd party solutions were created. The three most notable are below.

  1. Install SSH on your Windows Server

    • If you just must have SSH, that’s an option too, and there’s a guide on social.technet for how to install OpenSSH on Server 2008.
    • Probably most useful for administrators of other systems (*nix, BSD, etc.) that make heavy use of SSH for this purpose, though there are advantages to even Windows-only administrators for having a single terminal emulator client (like PuTTY) store a number of target computers and customized (or standardized) settings for each.
  2. PSExec

    • The original option for executing remote commands on a Windows box through the Windows CLI, this is part of the excellent SysInternals suite. One of the very few «must have» packages for Windows admins, the SysInternals tools were so widely respected and used that SyInternals was bought out by Microsoft, and the tools are now somewhat officially supported by Microsoft.
    • Just as with WinRS/RM, PSExec can be used to issue single commands to a remote server, or to launch an interactive instance of cmd.exe on a remote computer.
      • As with: psexec \\myserver.mydomain.tld cmd
    • As with the other options, there are steps one must take first to ensure PSExec is actually able to connect to the target machine.
  3. Add a utilities folder to the server and store its value in the %PATH% system variable

    • As has been noted in the comments there are many a good SysInternals program that can be executed on the command line and targeted at a remote system, and this is true of more than just SysInternals.
    • Basically, package up a bundle of your favorite Windows utilities into a folder you push to all your servers and add that folder to the %PATH% environmental variable of your systems. Both are easily done through GPO.
      • (I include the SysInternals Suite, PuTTY, WinDirStat and a bunch of custom scripts I find myself reusing) into a folder that gets pushed to all my servers
    • Obviously, this is useful for more than just managing Windows systems via CLI, but I find it so useful I think it’s worth including anyway.

Bdoserror's user avatar

answered Sep 18, 2012 at 11:11

HopelessN00b's user avatar

HopelessN00bHopelessN00b

53.8k33 gold badges137 silver badges210 bronze badges

8

Just for the sake of completeness: although it might not be the best solution for various reasons, every Windows system supports the Telnet service, which can be enabled from the features list.

Microsoft’s telnet implementation also supports NTLM authentication, thus, unlike standard telnet to a Unix system, no clear-text password is sent on the network when using it.

answered Mar 31, 2014 at 13:09

Massimo's user avatar

2

You must log in to answer this question.

Not the answer you’re looking for? Browse other questions tagged

.

  • Как увидеть тип файла в windows 10
  • Как удаленно перезагрузить сервер windows
  • Как увидеть температуру процессора windows 10
  • Как увидеть скрытые папки на флешке windows 10
  • Как увидеть папку programdata в windows 10