Случилось так, что в один прекрасный день появилась необходимость снести во всех офисах на всех компьютерах ISA Client, вот здесь мне и пригодилася замечательная програмка PsExec. С помощью нее можно выполнить любую программу на удаленном компьютере, естественно вы должны входить в группу локальных админов, иначе ничего не выйдет.
Для начала краткое описание PsExec
компьютер
Указывает программе 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. Однако поскольку удаленный процесс является олицетворением, то он не будет иметь доступа к сетевым ресурсам удаленной системы. Если имя пользователя задано, то удаленный процесс запускается из указанной учетной записи и получает доступ к тем же сетевым ресурсам удаленной системы, что и данная учетная запись. Учтите, что пароль передается в удаленную систему в виде открытого текста.
Запустив MsiExec.exe с ключем /no restart /q/x{ключь реестра ISA Client} REMOVE=ALL на всех компьютерах домена, ISA Client был благополучно удален. Полная команда выглядела так —
Ключи можно найти в реестре HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\
И в заключении, в комплект программ PsTools входит не только PsExec, но и масса других утилит, вот краткое их описание
PsFile — показывает удаленно открытые файлы;
PsGetSid — выводит идентификатор безопасности (SID) компьютера или пользователя;
PsInfo — выводит информацию о системе;
PsKill — позволяет завершать процессы по имени или идентификатору процесса;
PsList — выводит подробную информацию о процессах;
PsLoggedOn — позволяет просматривать данные о том, кто зарегистрирован в системе локально или в результате использования общих ресурсов (в комплект загрузки входит полный исходный текст программы);
PsLogList — позволяет выгрузить записи из журнала регистрации событий;
PsPasswd — позволяет менять пароли учетных записей;
PsService — позволяет просматривать информацию о службах и управлять ими;
PsShutdown — позволяет выключить и при необходимости перезагрузить компьютер;
PsSuspend — позволяет приостанавливать процессы;
Более подробно об этих программах можно почитать в help файле который идет в пакете