Добрый день!!! подскажите как скопировать нужные конфиги в папку которую создает запускаемая программа по адресу:C:\Пользователи\Имя учетной записи\AppData\Local\Temp? имя папки каждый раз изменяется (*.tmp)!!
Пытаюсь автоматизировать установку OCS агента, проблема заключается в том, что при запуске агента он создает папку с разными именами в userprofile/temp, пока удалось выполнить копирование в папку temp!!!! но как скопировать во вновь созданную папку с рандомным именем не пойму???? прошу помощи..
Пытаюсь автоматизировать установку OCS агента, проблема заключается в том, что при запуске агента он создает папку с разными именами в userprofile/temp, пока удалось выполнить копирование в папку temp!!!! но как скопировать во вновь созданную папку с рандомным именем не пойму???? прошу помощи..
Код:
#RequireAdmin
#include <GUIConstants.au3>
Opt("TrayIconDebug", 1)
Opt("WinWaitDelay", 0)
$pfiles = EnvGet("programfiles")
$app_name = ("OCS Inventory Agent 2017")
$temp_path = (@TempDir)
$podrazdelenie = "ГГ Фи упр|КУГСИН|ГГУ и тд..
DirCreate ($pfiles&"\OCS Inventory Agent\")
FileInstall ("D:\disk_D\Autoit\source\OCS Agent 4.0.5.4\admininfo.conf", $pfiles&"\OCS Inventory Agent\admininfo.conf")
GUICreate("Проверка принадлежности компьютера", 320, 330)
GUICtrlCreateLabel ("Фамилия, Имя, Отчество пользователя:", 10, 10, 400)
$combo_fio = GUICtrlCreateInput (RegRead ("HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows NT\CurrentVersion", "RegisteredOwner"), 10,30,300,20)
GUICtrlCreateLabel ("текущая информация: "&@LF&RegRead ("HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows NT\CurrentVersion", "RegisteredOwner"), 10, 55, 400)
GuiCtrlCreateGraphic(10, 90, 50, 50, 0)
GUICtrlSetGraphic(-1,$GUI_GR_COLOR, 0x646464)
GUICtrlSetGraphic(-1,$GUI_GR_LINE, 300, 0)
GUICtrlSetGraphic(-1,$GUI_GR_MOVE, 0, 90)
GUICtrlSetGraphic(-1,$GUI_GR_LINE, 300, 90)
GUICtrlCreateLabel ("Подразделение, выберите из списка:", 10, 100, 400)
$combo_podr = GUICtrlCreateCombo (RegRead ("HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows NT\CurrentVersion", "RegisteredOrganization"), 10,120,300)
GUICtrlSetData(-1, $podrazdelenie, "")
GUICtrlCreateLabel ("текущая информация: "&@LF&RegRead ("HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows NT\CurrentVersion", "RegisteredOrganization"), 10, 145, 400)
GUICtrlCreateLabel ("Номер кабинета, где установлен данный компьютер:", 10, 190, 400)
$combo_kab = GUICtrlCreateInput (RegRead ("HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows NT\CurrentVersion", "Registeredtag"), 10,210,300,20)
GUICtrlCreateLabel ("текущая информация: "&@LF&RegRead ("HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows NT\CurrentVersion", "Registeredtag"), 10, 210, 300,20)
$Button_1 = GUICtrlCreateButton ( "ОК", 60, 280, 70)
$Button_2 = GUICtrlCreateButton ( "Выход", 190, 280, 70)
GUISetState ()
While 1
$msg = GUIGetMsg()
Select
Case $msg = $Button_1
$fio = GUICtrlRead ($combo_fio, 1)
$podr = GUICtrlRead ($combo_podr, 1)
$kab = GUICtrlRead ($combo_kab, 1)
$check = MsgBox (54, "OCS Inventory 2017", "Будет записана следующая информация:"&@LF&@LF&"ФИО сотрудника:"&@LF&$fio&@LF&@LF&"Подразделение:"&@LF&$podr&@LF&@LF&"Номер кабинета:"&@LF&$kab)
If $check = 2 Then
MsgBox (16, "OCS Inventory 2017", "Установка прервана.")
Exit
ElseIf $check = 11 Then
RegWrite ("HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows NT\CurrentVersion", "RegisteredOwner", "REG_SZ", $fio)
RegWrite ("HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows NT\CurrentVersion", "RegisteredOrganization", "REG_SZ", $podr)
RegWrite ("HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows NT\CurrentVersion", "Registeredtag", "REG_SZ", $kab)
IniWrite ("C:\programData\OCS Inventory NG\Agent\admininfo.conf", "OCS Inventory Agent", "TAG", $kab)
GUIDelete()
ExitLoop
EndIf
Case $msg = $GUI_EVENT_CLOSE
MsgBox (16, "OCS Inventory 2017", "Установка прервана.")
Exit
Case $msg = $Button_2
MsgBox (16, "OCS Inventory 2017", "Установка прервана.")
Exit
EndSelect
Wend
;
DirCreate ($temp_path) (Эти файлы необходимо переместить с папку созданную в папке Temp запущенным инсталяторов агента OCS)
FileInstall ("D:\disk_D\Autoit\source\OCS Agent 4.0.5.4\OcsAgentSetup.exe", $temp_path&"\OcsAgentSetup.exe", 1)
FileInstall ("D:\disk_D\Autoit\source\OCS Agent 4.0.5.4\cacert.pem", $temp_path&"\cacert.pem", 1)
FileInstall ("D:\disk_D\Autoit\source\OCS Agent 4.0.5.4\service.ini", $temp_path&"\service.ini", 1)
FileInstall ("D:\disk_D\Autoit\source\OCS Agent 4.0.5.4\proxy.ini", $temp_path&"\proxy.ini", 1)
FileInstall ("D:\disk_D\Autoit\source\OCS Agent 4.0.5.4\server.ini", $temp_path&"\server.ini", 1)
FileInstall ("D:\disk_D\Autoit\source\OCS Agent 4.0.5.4\agent.ini", $temp_path&"\agent.ini", 1)
FileInstall ("D:\disk_D\Autoit\source\OCS Agent 4.0.5.4\local.ini", $temp_path&"\local.ini", 1)
FileInstall ("D:\disk_D\Autoit\source\OCS Agent 4.0.5.4\ioSpecial.ini", $temp_path&"\ioSpecial.ini", 1)
FileInstall ("D:\disk_D\Autoit\source\OCS Agent 4.0.5.4\advsplash.dll", $temp_path&"\advsplash.dll", 1)
FileInstall ("D:\disk_D\Autoit\source\OCS Agent 4.0.5.4\InstallOptions.dll", $temp_path&"\InstallOptions.dll", 1)
FileInstall ("D:\disk_D\Autoit\source\OCS Agent 4.0.5.4\KillProcDLL.dll", $temp_path&"\KillProcDLL.dll", 1)
FileInstall ("D:\disk_D\Autoit\source\OCS Agent 4.0.5.4\nsExec.dll", $temp_path&"\nsExec.dll", 1)
FileInstall ("D:\disk_D\Autoit\source\OCS Agent 4.0.5.4\services.dll", $temp_path&"\services.dll", 1)
FileInstall ("D:\disk_D\Autoit\source\OCS Agent 4.0.5.4\SetACL.exe", $temp_path&"\SetACL.exe", 1)
FileInstall ("D:\disk_D\Autoit\source\OCS Agent 4.0.5.4\System.dll", $temp_path&"\System.dll", 1)
FileInstall ("D:\disk_D\Autoit\source\OCS Agent 4.0.5.4\UserInfo.dll", $temp_path&"\UserInfo.dll", 1)
;
; установка OCS-Агента, копирование SSL-сертификата сервера
SplashTextOn ("Установка "&$app_name, @LF&"Происходит установка "&$app_name&@LF&"Пожалуйста, подождите..."&@LF&@LF&"- установка Агента...", 500, 120)
RunWait ($temp_path&"\OcsAgentSetup.exe /s /NOSPLASH /debug /now /server:ocs/ocsinventory")
FileMove ($temp_path&"\cacert.pem", $pfiles&"\OCS Inventory Agent\cacert.pem", 1)
RunWait ("net stop ""ocs inventory service""")
FileCopy ($temp_path&"\server.ini", $pfiles&"\OCS Inventory Agent\server.ini", 1)
RunWait ("net start ""ocs inventory service""")
;добавил строку ниже
FileCopy ($temp_path&"\service.ini", $pfiles&"\OCS Inventory Agent\service.ini", 1)
RunWait ("net start ""ocs inventory service""")
;
FileCopy ($temp_path&"\proxy.ini", $pfiles&"\OCS Inventory Agent\proxy.ini", 0)
RunWait ("net start ""ocs inventory service""")
;
FileCopy ($temp_path&"\agent.ini", $pfiles&"\OCS Inventory Agent\agent.ini", 1)
RunWait ("net start ""ocs inventory service""")
;
FileCopy ($temp_path&"\local.ini", $pfiles&"\OCS Inventory Agent\local.ini", 1)
RunWait ("net start ""ocs inventory service""")
;
FileCopy ($temp_path&"\ioSpecial.ini", $pfiles&"\OCS Inventory Agent\ioSpecial.ini", 1)
RunWait ("net start ""ocs inventory service""")
;
; копирование установочных файлов во временную папку
SplashTextOn ("Установка "&$app_name, @LF&"Происходит установка "&$app_name&@LF&"Пожалуйста, подождите..."&@LF&@LF&"- копирование файлов...", 500, 140)
;
;удаление временной папки
DirRemove ($temp_path, 1)
SplashOff ()
MsgBox (64, "Установка "&$app_name, @LF&"Установка "&$app_name&" успешно завершена!")