Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   Проверка разрядности системы и выполнение .reg файла, помогите разобраться. (http://forum.oszone.net/showthread.php?t=238846)

dmins 18-07-2012 12:20 1954144

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

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

Есть 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 1954189

Так, проблему решил, добавил несколько условий:

Цитата:

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 1954782

Так, появился еще вопрос по скрипту:

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

Molchune 19-07-2012 13:24 1954801

а под опеделенным пользователем кто подразумевается?
в принципе runas /?

Iska 19-07-2012 15:47 1954873

Цитата:

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

Никак. Ибо reg-файл не является исполняемым файлом. Можно запустить тем же способом «regedit.exe»/«reg.exe» — с reg-файлом в качестве параметра.

dmins 19-07-2012 16:24 1954892

Спасибо, но не совсем понял, что именно нужно прописать в моем случае.

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

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

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


Спасибо.

Iska 19-07-2012 16:27 1954894

Цитата:

Цитата Molchune
runas /? »


dmins 19-07-2012 16:30 1954897

Iska, спасибо, если можно вставьте в мой скрипт в нужное место, на основании моего пользователя, указанного выше.

Iska 19-07-2012 19:50 1954992

Как-то так:
Код:

@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».


Время: 20:37.

Время: 20:37.
© OSzone.net 2001-