想請問各位前輩,小弟想透過用GPO指派封裝的msi檔案到用戶,並用bat批次檔完全自動安裝都不用手按下一步這方法可行嗎?
這是小弟編寫的bat,在自動執行line.msi時候會跳出,要我輸入系統管理員帳號密碼
小弟想請教各位大大,要如何編寫bat可以自動輸入帳號密碼和自動下一步,我爬文大部分都是介紹一些指令和參數,沒有看到類似的教學。
WScript.Sleep 5*60*1000
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.currentdirectory="c:\"
WshShell.Run "\\192.168.1.1\WSUS\wsus-client.bat", 0
Set WshShell = Nothing
首先至adobe官網下載msi封裝檔,並建立一批次檔案,內容如下:
msiexec /package \\192.168.1.1\flash\install_flash_player_11_active_x_32bit.msi /quiet
使用msiexec是避免直接安裝檔案時會跳出安全性警告,並採安靜模式且不需使用者互動。
set WshShell = CreateObject("WScript.Shell")
WshShell.Run "runas /user:AdminAccount ""d:\StopNIC.bat"""
WScript.Sleep 100
WshShell.Sendkeys "password~"
若樓主的目的是讓使用者完全不需操作,那可以參考以指令方式執行 MSI 安裝,並搭配靜默模式(no UI)
msiexec /q
網路上有很多詳細的 msiexec 指令說明
如果想要在執行 MSI 安裝時,不再提示輸入帳號密碼,只要以 "有足夠權限的帳號" 來啟動安裝(執行指令)即可。
但因為 bat 是明碼的,在裡面寫帳號密碼有外洩的可能。
我的經驗是使用上面大大提過的 AutoIt,它也可以撰寫執行 windows command,同時可以封裝成 .exe 檔,如此就無法得知裡面的帳號密碼了。
如果有需要,也可以同時將 MSI 檔封裝在 .exe 裡,跟著 AD 一同發佈出去。
如此也不用擔心 MSI 檔路徑被得知
推薦樓主去研究 AutoIt,學好它可以輕鬆達成很多自動化作業。
例如:希望使用者讓電腦重開機,但又不能強制執行,於是刻一個假的 Windows 重開機視窗,定時跳出來提醒使用者 :P