Работа с утилитой psexec

Рейтинг:  0 / 5

Звезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активна
 

Допустим в Вашей организации большое число компьютеров 50, 100, 200, 300 и.т.д и необходимо поставить одну программу или сервис пак(SP1) для всех компьютеров в Вашей сети. Бегать от компьютера к компьютеру и устанавливать - это крайне проблематично и не удобно. По RDP  устанавливать долго и это причиняет неудобства пользователям, из-за чего они нервничают и срывают всю злость на Вас. Поэтому предлагаю несколько способов для решения данной проблемы.

 

  • Можно с помощью групповых политик. Только msi пакеты.
  • Можно с помощью   платных программ, таких как Total Software Deployment (платная - на 500 компов 12600р, на бесконечное количество машин 40000 - Для организации крупной и средней вообще не деньги), Установил программу просканировал сеть, указал что ставить и куда ставить, нажал одну кнопку и пошел чай пить или домой, за тебя все сделает программа.
  • Есть еще бесплатное решение с помощью утилиты psexec. удобно, быстро, а главное бесплатно.

 

 Рассмотрим утилиту psexec. Утилита бесплатная, весит 400 Кб. В данной статье, все функции я рассматривать не буду, так как можно написать целый сборник. А просто на не большом примере расскажу, как ей пользоваться.

Запустить данную утилиту можно двумя способами:

  • В командной строке выбрать каталог где лежит утилита, например (cd C:\sp) и дальше выбрать необходимые аргументы
  • Скопировать утилиту в system32  и просто уже набирать необходимые аргументы

Начнем с малого, напишем аргументы для работы с утилитой

использование: 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 \\marklap "c:\длинное имя\app.exe". Введенные данные передаются в удаленную систему при нажатии клавиши «Ввод», для завершения удаленного процесса нужно нажать сочетание клавиш Ctrl-C.

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

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

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

Наконец Пример. В качестве примера будем использовать установку sp1 windows7.

Пример 1

Предварительно копируем sp1 на удаленную машину, с помощью xcopy и другим утилит командной строки (можете прочитать подробно нажав xcopy /?)

xcopy C:\64 \\pc-opc-3104\C$  /e /y /i /r /h /c

Далее

psexec  \\pc-opc-3104 cmd - запускаем удаленную командную строку

и запускаем установку sp1

windows6.1-KB976932-X64.exe /quiet /nodialog /norestart

Пример 2

Более проще, но не надежно

psexec  \\pc-opc-3104  -i -c -f  C:\sp\windows6.1-KB976932-X64.exe /quiet /nodialog /forcerestart -accepteula

В этом примере утилита сама все сделает за Вас!). Сама скопирует, сама запустит установку.

Пример 2.2

Похож как и пример2, но установка пройдет на указанных компьютерах (записываем в обчный файл txt)

Пример:sp.txt
pc-opc-2525
pc-adm-1212
и.т.д (Пишите сколько хотите)

Важно! В файле txt на названии компьютеров не нужно ставить \\

и сама команда

psexec.exe  @C:\sp.txt -i -c -f C:\sp\windows6.1-KB976932-X64.exe /quiet /nodialog /forcerestart -accepteula

Утилита psexec.exe это отличная, бесплатная утилита для системного администрирования удаленных компьютеров, с помощью которой можно синхронизировать время, удалять и добавлять папки, устанавливать программы и много другое.

скачать crm

Добавить комментарий

Защитный код
Обновить