PDA

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


dmins
18-07-2012, 12:20
Доброе время суток форумчане!

Ситуация такая:

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


sc query | findstr /i "FusionInventory-Agent"
IF %ERRORLEVEL% NEQ 0 (
\\k170\Shares\fusioninventory-agent_windows-i386_2.2.3-1.exe /S)
regedit /S \\k170\Shares\FusionInventory-Agent.reg
net start FusionInventory-Agent
) else (exit 0)


как вы видите, после установки агента, выполняется запуск .reg файла regedit /S \\k170\Shares\FusionInventory-Agent-x32.reg

Дело в том, что у меня есть два .reg файла для занесения информации в реестр: один для x64(FusionInventory-Agent-x64.reg), другой x86(FusionInventory-Agent-x86.reg) разрядных систем.

Мне нужно добавить в скрипт проверку на разрядность и в зависимости от этого выполнять .reg файл х32 или х64 разрядный.

Уважаемые гуру, помогите разобраться, какую строку и в какое место добавить?



Заранее спасибо за советы и помощь.

dmins
18-07-2012, 13:32
Так, проблему решил, добавил несколько условий:

sc query | findstr /i "FusionInventory-Agent"
IF %ERRORLEVEL% NEQ 0 (
\\k170\Shares\fusioninventory-agent_windows-i386_2.2.3-1.exe /S)

If /I "%Processor_Architecture%"=="x86" (
regedit /S \\k170\Shares\FusionInventory-Agent-x32.reg
net start FusionInventory-Agent
)

If /I "%Processor_Architecture%"=="AMD64" (
regedit /S \\k170\Shares\FusionInventory-Agent-x64.reg
net start FusionInventory-Agent
)

dmins
19-07-2012, 12:35
Так, появился еще вопрос по скрипту:

как запустить выполниние .exe файла от имени определенного доменного пользователя.
И как запустить .reg файл от имени определенного доменного пользователя

Molchune
19-07-2012, 13:24
а под опеделенным пользователем кто подразумевается?
в принципе runas /?

Iska
19-07-2012, 15:47
И как запустить .reg файл от имени определенного доменного пользователя »
Никак. Ибо reg-файл не является исполняемым файлом. Можно запустить тем же способом (http://forum.oszone.net/post-1954801.html#post1954801) «regedit.exe»/«reg.exe» — с reg-файлом в качестве параметра.

dmins
19-07-2012, 16:24
Спасибо, но не совсем понял, что именно нужно прописать в моем случае.

К примеру, Админская учетка доменная от которой надо запускать установку

логин - adm
пасс - 123321

В какое место сценария и какие команды нужно вставить.


Спасибо.

Iska
19-07-2012, 16:27
runas /? »

dmins
19-07-2012, 16:30
Iska, спасибо, если можно вставьте в мой скрипт в нужное место, на основании моего пользователя, указанного выше.

Iska
19-07-2012, 19:50
Как-то так:
@echo off
setlocal enableextensions enabledelayedexpansion

sc.exe query | findstr.exe /i "FusionInventory-Agent" || (
"\\k170\Shares\fusioninventory-agent_windows-i386_2.2.3-1.exe" /S

if /i "%Processor_Architecture%"=="x86" runas.exe /user:"adm" "regedit.exe /s \"\\k170\Shares\FusionInventory-Agent-x32.reg\""
if /i "%Processor_Architecture%"=="AMD64" runas.exe /user:"adm" "regedit.exe /s \"\\k170\Shares\FusionInventory-Agent-x64.reg\""

net.exe start "FusionInventory-Agent"
)

endlocal
exit /b 0

Пароль будет запрошен при попытке запуска «regedit.exe».

Я не пойму, зачем Вам нужен «runas».




© OSzone.net 2001-2012