Для понимания на чём же у нас работают люди неплохо бы иметь информацию о "железе" и кое-каких других данных с компьютеров пользователей. Чтобы не лазить на каждый комп Radmin-ом и не отвлекать пользователей от работы, можно воспользоваться утилитами командной строки.
К сожалению, работает только на Windows XP и Windows Server 2003. Для Windows 7 на целевом компьютере нужно совершать дополнительные действия, то есть всё равно лезть Radmin-ом, т.е. весь смысл затеи теряется.
Кроме собственно скриптов нужно следующее ПО:
CheckUpdates=0
. Если будет стоять 1, то утилита полезет проверять обновления, будет спрашивать всякое, и ничего не получится.SysinternalsSuite в этой структуре не обязательно, путь к утилите PsExec указывается в скрипте.
На локальной машине запускается файл inventory.cmd с параметром - IP-адрес целевого компьютера, т.е. того, с которого будем собирать информацию:
inventory.cmd 192.168.0.1
Без передаваемого параметра скрипт не запустится.
@ECHO OFF
REM Проверяем на отсутствие IP. Без этого параметра скрипт не работает
IF "%1" EQU "" (
ECHO Нужно ввести IP компьютера
GOTO END
)
REM Установка переменных
SETLOCAL
REM Буква, на которую будет назначен сетевой диск
SET NET_DRIVE=T:
REM Откуда брать CPU-Z для копирования на целевой компьютер
SET CPUZ="d:\Programs\cmd\inventory\cpu-z"
REM Где лежит PsExec
SET PSEXEC="d:\Programs\SysinternalsSuite\PsExec.exe"
REM Собственно, скрипт
REM Подключаем диск C: на целевом компьютере как сетевой диск
NET USE %NET_DRIVE% \\%1\c$ /user:Администратор password /persistent:no
REM Создаём на целевом компьютере каталог, в котором будет работать скрипт, собирающий сведения
IF NOT EXIST %NET_DRIVE%\INVENTORY\nul MD %NET_DRIVE%\INVENTORY
IF NOT EXIST %NET_DRIVE%\INVENTORY\cpu-z\nul MD %NET_DRIVE%\INVENTORY\cpu-z
REM Копируем на целевой компьютер каталог с утилитой CPU-Z и скриптом, собирающим сведения
XCOPY /E %CPUZ% %NET_DRIVE%\INVENTORY\cpu-z
REM С помощью утилиты PsExec запускаем на целевом компьютере скрипт, собирающий сведения
%PSEXEC% \\%1 -u Администратор -p password cmd /c c:\Inventory\cpu-z\sysinfo.cmd
REM Удаляем следы присутствия на целевом компьютере
%PSEXEC% \\%1 -u Администратор -p password cmd /c RD /S /Q C:\inventory
REM После завершения работы отключаем сетевой диск
NET USE %NET_DRIVE% /d /y
REM Подключаем как сетевой диск каталог на файловом сервере с результатом работы
NET USE I: \\192.168.0.10\temp\inventory /user:username userpassword /persistent:no
START explorer I:\
:END
@ECHO OFF
REM Подключаем как сетевой диск каталог на файл-сервере для сохранения результатов работы
NET USE Z: \\192.168.0.10\temp\inventory /user:username userpassword /persistent:no
REM Запускаем CPU-Z в режиме без GUI, зато с сохранением результатов в файл
REM В качестве имени файла используется имя компьютера из системной переменной %COMPUTERNAME%
%~dp0\cpuz_x32.exe -txt=Z:\%COMPUTERNAME%
REM Недостающую информацию даст встроенная в Windows команда systeminfo
systeminfo >> Z:\%COMPUTERNAME%.txt
REM А эти команды помогут понять есть ли у пользователя права локального администратора
net localgroup Администраторы >> Z:\%COMPUTERNAME%.txt
net localgroup Пользователи >> Z:\%COMPUTERNAME%.txt
REM Отключаем сетевой диск
NET USE Z: /d /y
:END