Выполнение удаленных команд

Запуск и настройка службы windows из командной строки |

Несмотря на свой примитивный вид и скромные размеры, командная строка предоставляет множество вариаций на тему «А что если… произвести запуск службы из командной строки». Фактически, простому обывателю она понадобится в очень редких случаях, если совсем не понадобится, работа со службами (их запуск или остановка) и то реже (хотя тут скорее уместна команда net stop).

Но, есть множество талантливой молодежи, или просто проницательных людей, которые с огромным удовольствие захотят засунуть свой нос в вашу систему. Конечно, большинство простых обывателей не будет извращаться над собой используя Windows NT или Windows 2000, да и Семерка все чаще наступает на горло «простенькому» ХР, но, командная_строка в мире операционных систем, это все ровно, что таблица умножения в мире финансов.

В Панели управление/Администрирование находится оснастка Службы, которая позволяет управлять рядом сервисов. Двойной щелчок по любой из них позволяет просмотреть ряд параметров:

Вкладка Общие показывает состояние, тип запуска, описание, исполняемый файл и другую информацию. Использование CMD позволяет получить аналогичную информацию, а также управлять состоянием и запуском служб, используя командную строку:

Sc start Имя_Службы – производится запуск службы из командной строки

Sc pause Имя_Службы – приостановка сервиса

Sc continue Имя_Службы – восстановление работы приостановленного сервиса

Sc stop Имя_Службы – полная остановка

Эти команды можно применять и на удаленных машинах. Например, что бы запустить УдаленныйРеестр на машине с адресом 192.168.1.6., надо прописать (вместо IP можно и имя машины прописать, например Mailer):

Хотя, запустить службу из командной строки можно и при использовании утилиту net start, или net stop соответственно (net stop RemoteRegistry)

Что бы настроить тип запуска применяется команда sc config (хотя ее возможности этим не ограничиваются). Синтаксис следующий:

Флаг может принимать три значения:

тут мы отключили RemoteRegistry на удаленной машине. Стоит помнить, что отключение сервиса его не останавливает, после перезагрузки он может вновь запустится.

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

В данном примере УдаленныйРеестр грузится под ЛокальнойСлужбой (NT AUTHORITYLocalService), а можно и под системной учетной записью (LocalSystem), но лучше этого не делать:

Если использовать флаг type= interact, то это укажет, что сервис может взаимодействовать с рабочим столом Windows:

тут флаг type= own говорит, что cлужбa выполняется в собственном процессе, если же работа происходит в общем процессе, то применятся флаг type= share. Например:

Используя команду sc qc ИмяСлужбы можно детально просмотреть информацию о ней, в том числе и тип запуска, например:

TYPE : 20 WIN32_SHARE_PROCESS (общий процесс)илиTYPE : 20 WIN32_OWN_PROCESS (собственный процесс)

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

sс config w3svc obj = User password=UserPass — тут w3svc настроена на запуск от имени пользователя User с паролем UserPass. Общий же синтаксис такой:

sс config ИмяCлужбы obj = Пользователь password= пароль — тут Домен — имя домена, где находится учетная запись (не является обязательным). В случае, если системная cлужбa была прежде сконфигурирована под локальную систему, то при перенастройке под учетную запись домена надо использовать флаг type= own:

Операционная система Windows содержит множество лазеек, которые позволяют в нее проникнуть (в том числе и сервер сценариев Windows Script Host), обходя стандартные правила. Не последнюю роль тут играют и системные службы. Например, утилита PsExec позволяет войти в удаленную систему или же запустить приложение от имени Локальной Системы. В процессе создается служба которая работает на обеих машина, она то и оперирует всем процессом связи. Однако, гордые обладатели Семерки, или даже ХР (если были установлены нужные обновления), могут сильно разочароваться. Хотя запуск службы psexecsvc можно произвести и непосредственно из командной строки, система ее просто игнорирует (или запрещает выполнять ее функции). Конечно, если есть голова, то можно создать аналог Psexec (тем более, что алгоритм работы известен), авось прокатит, но, если бы все было так, как в книге пишут…

Спасибо за внимание. Автор блога

Это проблемы не только удалённых команд

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

Удаленные команды требовательнее к процессам, поэтому проблемы с управлением сотрудниками просто возникают раньше и больше бросаются в глаза.

Раз встречаться дорого, нужно продумать систематизацию процессов.

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

Раз нельзя следить за каждым шагом, нужно определить стратегию и цели и относиться к разработчикам как к взрослым людям, способным принимать решения.

PsExec

Одним из отличных решений поставленной в заголовке задачи является использование программы PsExec от великого Марка Руссиновича.

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

Если PsExec запускается от имени администратора, который входит в тот же домен, что и удаленны компьютер, то никаких учетных данных даже вводить не нужно. В противном случае, их можно указать в командной строке, либо PsExec сама их запросит. PsExec работает на ОС начиная с Windows 2000 и заканчивая 64-битным Windows Server 2008 R2.

Очень полезными в PsExec являются следующие возможности:

  • Выполнение команды на группе компьютеров. Пример: следующая команда позволяет принудительно применить самые свежие групповые политики:
  • Выполнение команд от имени системной учетной записи. Пример: следующая команда заставит удаленную систему принудительно проверить обновления:
  • Копирование выполняемой программы на удаленный компьютер перед выполнением. Пример: следующая команда позволит обновить членство данного компьютера в группе безопасности Active Directory (токен доступа) без перезагрузки:

Трудно переоценить пользу этой программы, если использовать скрипты и возможности консольных команд, встроенных в Windows.

Принцип 3. Поддерживайте коммуникацию с удаленными командами убедительнее, чем со стандартными

Многочисленные исследования подтверждают, что наши слова и голос отвечают только за половину передачи сообщения. Другая половина — невербальные сигналы: поза, положение относительно собеседника, выражение лица, взгляд. Очевидно, что в этом плане дистанционная коммуникация неполноценна, и чтобы сделать ее эффективной, нужно больше усилий. 

Пример:

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

Главное здесь — регулярность. Если вы постоянно переносите или отменяете такие звонки, удаленные сотрудники могут принять это за пренебрежение

Также важно во время звонка делать записи таких встреч, а затем отправлять их всем участникам

С точки зрения коммуникаций есть и другой совет: запустите отдельную внутреннюю рассылку или создайте группу в социальной сети для вашей команды. Обсуждайте в ней не только корпоративные достижения, но и личные новости членов команд, делитесь фотографиями, видео, поздравляйте с праздниками. Это поможет создать особенную атмосферу, которая может несколько отличаться от глобальной идентичности, что особенно актуально, если вы часть корпорации. Учитывайте особенности общения, сопровождайте информацию, которой делитесь, своим комментарием, отношением, возможно, даже шуткой, если это уместно. 

Фото: Roman Samborskyi / Shutterstock.

miniCIO: Исполнитель задач или партнер?

Что нужно бизнесу – простое решение его задачи «в лоб» или получение реальной пользы и ценности? А как обосновать, что это реальная ценность, даже если запрашиваемая система не будет внедрена, а всего лишь будут «исправлены» текущие бизнес-процессы? Вопросы очень дискуссионные и не имеют однозначных ответов. Попробуем найти решения.
Если вы – программист или даже программист 1С, если вам неинтересно понять, почему бизнес развивается так, а не иначе, то эта статья не для вас. А вот если вам небезразлично развитие и функционирование вашего ИТ-отдела, вам интересны процессы и закономерности – читаем до конца и комментируем.

Принцип 2. Уважайте культурные особенности региона

В каждой компании есть корпоративная культура, которая задает определенные рамки коммуникации и подходы к работе. Однако помимо этого существует так называемый национальный культурный код, который не меняется десятилетиями, если вообще меняется. И самый умный выход — повернуть национальное многообразие удаленной команды в пользу бизнеса. Направляйте нужных людей для решения нужных задач и комбинируйте противоположные точки зрения.

Фото: goffkein.pro / Shutterstock.

Пример:

Недоразумения, вызванные культурными различиями, часто становятся эпизодами комедий. А в многонациональной стране они могут очень быстро превратиться в события реальной жизни. 

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

Знание этой специфики — необходимый элемент в работе с удаленными командами. Это позволяет не только более грамотно распределять задачи в коллективе, но и достигать лучших результатов, например, в переговорах с партнерами.

Разные структуры удалённых команд

Под удаленными командами понимают разное:

● Команды-спутники
○ Несколько команд сидят в разных офисах.

● Удаленные сотрудники
○ Почти все сидят в офисе, и только пара ребят работает удаленно.

● Полностью распределенные команды
○ Все на удаленке.

● По принципу «remote first»
○ По сути, они полностью распределенные,
○ но кто-то работает в офисе.
○ Стараются общаться так, чтобы удаленные сотрудники были в курсе всего.

Под удаленными командами я подразумеваю полностью распределенные и правильные remote-first-команды. Остальные я считаю гибридами.

Почему так важно видеть разницу?

Просто это совершенно разные типы команд с разными потребностями.

Как достичь максимума

С развитием технологий все больше менеджеров будут управлять удаленными сотрудниками. И это не всегда просто

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

Чтобы эффективно управлять удаленными командами:

Найдите индивидуальный подход к каждому сотруднику;

Изучите и принимайте во внимание культурные особенности региона;

Поддерживайте удаленную коммуникацию чаще и убедительнее;

Укрепляйте связи между членами одной команды;

Находите возможность для личных встреч и неформального общения.

Через реестр

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

В зависимости от ветки реестра, процесс будет выполняться или под пользователем, выполнившим вход в систему, или под аккаунтом SYSTEM.

Есть и другие способы, такие как правка ярлыков в папке «Автозагрузка» или добавление в ярлык к популярной программе && script.cmd, но эти методы уже из серии «можно, но не нужно».

Теперь перейдем к новым инструментам.

Способы новые или куда же без PowerShell

PowerShell, оправдывая свое название, может подключаться к удаленным компьютерам при помощи WMI, RPC и WS-Management (WSMan). Использование последнего метода требует предварительной настройки.

Командлеты, не требующие предварительной настройки, как правило, имеют параметр ComputerName, но не имеют параметра Session. Посмотреть список таких командлетов можно командой:

Для настройки WSMan в общем случае достаточно выполнить команду Enable-PSRemoting-Force. Она запустит службу удаленного управления WinRM и пропишет исключения в фаерволе ― в принципе, это можно сделать для всего домена при помощи групповых политик. Подробнее настройка описана в документации.

После того как все компьютеры будут готовы принимать запросы, мы сможем подключаться при помощи соответствующих командлетов PowerShell. Для проверки возможности подключения используется командлет Test-WSMan.

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

Для того чтобы выполнить определенную команду или скрипт, используется командлет Invoke-Command со следующим синтаксисом:

Где COMPUTER ― имя компьютера, COMMAND ―– имя команды, а USERNAME ― имя пользователя, если оно нужно.

Смотрим содержимое диска С удаленного компьютера.

Если же нам нужно получить полноценную консоль ― не автоматизации ради, а ради управления конкретным компьютером, ― то можно использовать командлет Enter-PSSession.

Работаем в консоли удаленного компьютера.

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

Конечно, кроме встроенных средств и небольших утилит, существует множество программ для управления структурой. Помимо взрослых решений, для управления конфигурациями вроде Chef, Ansible и MS SCCM можно использовать и средства мониторинга вроде Zabbix, и даже консоль управления антивирусом Касперского.

В период гетерогенных структур хорошо бы иметь возможность унифицированного управления Windows и Linux. Это можно сделать и с помощью PowerShell, что само по себе достойно отдельной статьи ― стоит такую сделать или уже лишнее?

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

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

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

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

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

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

Принцип 5. Даже если команда удаленная, организуйте личные встречи по крайней мере раз в год

Составьте рабочее расписание, в которое будет включена сессия знакомства. Кроме нее включите в повестку дня воркшопы или брейнсторминг, которые помогут членам команды сформулировать глобальные цели и обсудить проблемы. И, конечно, важен неформальный тимбилдинг: совместные развлечения сплачивают команду. 

Пример:

В Nielsen для знакомства команды популярен формат «трех фактов»: каждый сообщает о себе три факта, а команда пытается догадаться, какой из них — ложь. Например, сотрудник может сказать: в свои студенческие годы я работал инструктором по горным лыжам, официантом и ассистентом режиссера. Команда вслух делает предположение, какой вариант — неправда. Не всегда найти правильный ответ легко, и неожиданные открытия из биографии человека всегда запоминаются и разряжают обстановку. 

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

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

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

2. В современных Windows 10 у меня PsExec работала только с учётной записью «Администратор», видимой по той причине, что необходимы административные общие ресурсы (подробнее о них смотрите в статье «Как включить административные общие ресурсы в ОС Windows 10, 8 или 7 (C$, D$, $admin и другие)»).

На серверах Windows учётная запись «Администратор» включена по умолчанию.

В более старых версиях Windows, видимо, достаточно включения общего сетевого ресурса $admin для предоставления доступа к папке \Windows\. В Windows 10 папки $admin как сетевого ресурса нет вовсе.

3. Проверьте, что сетевой доступ к файлам и принтерам включён в файерволе. Для этого нажмите Win+r, введите там firewall.cpl.

Во вкладке «Разрешение взаимодействия с приложениями или компонентами в брандауэре защитника Windows»

найдите «Общий доступ к файлам и принтерам» и убедитесь, что стоит галочка в столбце «Частная» — если его там нет, то нажмите кнопку «Изменить параметры», поставьте галочку и нажмите ОК.

4. Убедитесь, что оба компьютера принадлежат к одной и той же рабочей группе (Workgroup).

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

Коммиты и пуши

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

Также тимлид смотрит за кодом в репозитории. Если код не соотносится с задачей, которую делает разработчик — значит, дело пахнет потерей фокуса и настало время поговорить.

Мы автоматизировали слежение за этим цифровым следом. В Evrone есть простая система, которая следит за активностью во всех репозиториях — и шлет разработчикам пуш-уведомление: «Не забывай про меня!».

С гибридами очень сложно

Сложно быть отщепенцем в офисной команде — у вас в пять раз больше требований, и вас забывают позвать на обсуждения, все решается без вас, вы один понятия не имеете, что да почему. В общем, жизнь — боль.

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

Сложно создать процессы для требований к связи в таких командах. Это же вообще против человеческой природы. Я пойду на кухню попить водички и поболтаю с кем-нибудь между делом. А в Slack я про это ничего не напишу, потому что… ну, потому что мне в лом! Человек я или где?

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

1. Найм персонала

Собеседования лицом к лицу – это затратно и не всегда возможно (особенно, если рекрутер и соискатель живут в разных городах). Современная и выгодная альтернатива – видеорекрутинг.

Это не требует регистрации или установки дополнительных программ: просто заходите на сайт, делитесь ссылкой с кандидатом и начинаете общение.

Еще один интересный инструмент платформы – видеоопросы. Рекрутер присылает соискателю ссылку на заранее созданный опрос. Кандидат отвечает на всплывающие в интерфейсе вопросы, а сервис записывает его ответы на видео. Записи можно посмотреть в любое время и отправить их коллегам, заказчику или руководителю. А ссылку на видеоопрос можно добавлять в описание вакансий на любые сайты.

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

2. Коммуникации в команде

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

Самый популярный вариант – Slack. В нем доступны приватные сообщения, звонки и видеоконференции, тематические каналы по тегам. Платформа Mynewjob тоже отлично подойдет для повседневного онлайн-общения. Ведь она не требует скачиваний, расширений и даже регистрации приглашенных пользователей.

Но не стоит ограничиваться каким-то одним инструментом общения. В запасе лучше иметь несколько способов связи на случай технических сбоев (например, Skype, Zoom, WhatsApp, Telegram).

3. Командная работа

Совместно работать над задачами на удаленке – это непривычно, но вполне реально:

  • Если сотрудники находятся в разных часовых поясах, нужен индивидуальный подход к рабочим графиком. Удобно, если команда будет пересекаться хотя бы на 4 часа.
  • На утренних стендапах (встречах) можно обсудить итоги прошедшего дня, составить список задач на сегодня, обменяться мнением по ключевым моментам.
  • Задачи можно организовывать в облачных платформах для управления проектами и CRM-системах: Basecamp, Trello, Asana, Битрикс24.
  • Видеоконференции позволят обсудить задачи всей командой без долгих переписок. Удобные и бесплатные сервисы – Google Hangouts и Zoom.

4. Контроль эффективности сотрудников

Удаленная работа – это формат, в котором фокус с процесса смещается на результат

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

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

Если у вас почасовая оплата для сотрудников, подойдут сервисы для учета рабочего времени: TimeDoctor, UpworkTimeTracker, Toggl, Hubstaff, Crocotime.

5. Вовлеченность и мотивация

Пример корпоративного портала на LMS Moodle

Есть риск, что удаленные сотрудники не будут чувствовать себя частью коллектива, не будут видеть свой вклад в общее дело. Как следствие – работа «для галочки», безынициативность, текучка.

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

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

Удаленный формат работы – это уже не просто модная “плюшка” для сотрудников. Это то, что поможет бизнесу удержаться на плаву и выжить.Сейчас самое время осваивать, внедрять и расти. Ведь кризис пройдет, а новые подходы останутся актуальны.

Windows Remote Management

Изначально это была серверная технология для удаленного управления оборудованием, которая появилась в Windows Server 2003 R2 как часть компонента Hardware Management, но недавно Microsoft выпустили пакет Windows Management Framework, который включает в себя PowerShell 2.0 и WinRM 2.0 и устанавливается на клиентские ОС как обновление. Подробности можно прочитать в статье KB968929.

Прелесть WinRM заключается в простоте развертывания в доменной среде через WSUS в качестве факультативного обновления ОС и мощи, которую даёт совместное с PowerShell применение.

Использование WinRM происходит через 2 команды.

winrm.cmd служит для конфигурирования настроек и диагностики клиента и сервера WinRM.

Для того, чтобы сервер WinRM начал принимать команды, должна быть запущена служба Windows Remote Management и произведена её начальная конфигурация. Используйте команду

на локальной машине, либо финт ушами по сети, используя PsExec от имени системной учетной записи.

Будет предложено автоматически запускать службу WinRM и разрешить уделенные подключения, соглашайтесь ;)

Чтобы успешно подключаться к WinRM серверу (имеется в виду серверная часть, принимающая команды), не входящему в тот же домен, что и ваш клиентский компьютер, необходимо на клиенте этот целевой сервер добавить в «доверенный список» следующей командой:

, где вместо servername можно указать IP-адрес, либо * (звёздочку).

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

По умолчанию, установлено ограничение на 5 одновременных соединений WinRM от клиента, для увеличения этого числа выполните команду

winrs.exe — клиент для отправки запросов к серверной части. Пример: следующая команда принудительно перезагрузит удаленную систему…

В доменной среде при отправке команд используются учетные данные запустившего пользователя. Для посыла команд от имени другого пользователя используются ключи -u:user -p:pass. Пример: следующая команда очистит локальный кэш DNS-имён на удаленной системе

Выполнить команду на удалённом компьютере через PsExec.exe

Один из моих любимых способов для решения этой задачи это утилита командной строки PsExec.exe написанная Марком Руссиновичем, которую вы можете свободно скачать с сайта Windows SysInternals. Ссылку на неё вы можете найти в конце статьи. Она не требует установки в систему, вы можете просто скопировать её в одну из папок, содержащихся в переменной окружения %path% и вызывать из любой оболочки командной строки: Cmd или PowerShell.

Использовать PsExec очень просто. Например, чтобы выполнить ipconfig /flushdns на компьютере main, достаточно запустить следующую команду:

Команда ipconfig будет запущена на компьютере main под вашими учетными данными. После завершения работы ipconfig весь текстовый вывод будет передан на ваш компьютер, а кроме того будет возвращён код выхода команды (error code). В случае если команда выполнилась успешно, он будет равен 0.


Выполнить команду на удалённом компьютере

Разумеется, на этом возможности PsExec не заканчиваются. Вызвав утилиту без параметров, можно посмотреть другие доступные опции

Я обращу внимание лишь на некоторые из них

Ключ -d говорит PsExec что ненужно дожидаться выполнения команды, а достаточно лишь запустить её, и забыть. В этом случае мы не получим выходных данных от консольной утилиты, но зато сможем не дожидаясь завершения предыдущей команды запускать другие. Это очень полезно, если вам необходимо запустить, например установщик программы на нескольких компьютерах.

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

Таким образом, чтобы вывести окно с информацией о версии операционной системы на компьютере main, следует запустить PsExec таким образом:

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

Ну и одной из самых полезных способностей PsExec является возможность интерактивного перенаправления ввода/вывода между компьютерами, что позволяет нам запустить, например cmd.exe на удалённом сервере, а давать ему команды и получать результаты на локальном компьютере.


Выполнить команду на удалённом компьютере

Каким образом работает PsExec?

Следующий способ реализации этой популярной задачи, о котором я хочу поведать – использование Windows Management Instrumentation. WMI присутствует во всех операционных системах Microsoft, начиная с Windows 2000, и даже на Windows 9x его можно установить из отдельного пакета. WMI включён по умолчанию, и не требует дополнительной настройки. Для его использования достаточно административных прав, и разрешенного на брандмауэре протокола DCOM. WMI предоставляет огромные возможности для управления системами, но нас сейчас интересует лишь одна из них.

Для запуска процессов нам потребуется метод Create класса Win32_Process. Использовать его достаточно несложно. В PowerShell это делается следующим образом:

Здесь в качестве запускаемого процесса я указал cmd.exe, а уже ему, в качестве аргументов передал нужную команду. Это необходимо в случае если вам нужно использовать переменные окружения удалённого компьютера или встроенные операторы cmd.exe, такие как «>» для перенаправления вывода в файл. Метод Create не дожидается завершения процесса, и не возвращает результатов, но зато сообщает нам его идентификатор – ProcessID.

Если вы используете компьютер, на котором пока не установлен PowerShell, вы можете вызвать этот метод WMI и из сценария на VBScript. Например вот так:

Групповые политики и скрипты

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

Скрипты, выполняющиеся при старте и завершении системы.

Скрипты, выполняющиеся при входе и выходе пользователя из системы.

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

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Техноарена
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: