簡體   English   中英

使用BAT / PS腳本自動化安裝

[英]Automating an installation using BAT/PS scripts

我一直在嘗試自動安裝我的一個應用程序,但是遇到了一些障礙,我確實需要一些幫助。

當前,我們正在使用Dell的KACE技術將安裝程序推送到本地計算機。 安裝程序將以SYSTEM用戶身份運行,這意味着它不會並且不能直接訪問網絡共享(稍后相關)。

應用程序安裝工作流程如下:
停止本地安全服務以允許安裝軟件
刪除映射到驅動器號X的所有內容
映射網絡驅動器X \\ test \\ test
TestApp.exe / s
msiexec / i Test.msi /安靜
啟動本地安全服務以允許安裝軟件
將快捷方式文件復制到桌面

安裝本身必須運行1個可執行文件和1個MSI。 EXE安裝大型機應用程序。 MSI文件會在本地安裝一些文件,然后在該映射的驅動器上注冊6個DLL文件。

這就是問題所在-因為這些文件必須位於該共享驅動器上,並且安裝程序以SYSTEM身份運行-> System帳戶無法訪問映射的驅動器來注冊文件,因此安裝失敗。

我還不能直接在批處理文件中以明文形式存儲用戶名/密碼,這進一步限制了我。

到目前為止,這是我的代碼:

REM Stopping McAfee Services
echo Stopping McAfee Services.
net stop mcshield
net stop mcafeeframework

REM Map Network Drive
echo Mapping Network Drive
net use X: /delete /y
net use X: \\test\test

(Here is where I need help - Is there a way to force a username/password prompt here for the user? I basically just want the user to authenticate to the X drive mapping, which will allow the installation to move forward)

echo Starting Test 1 Installation
Test1.exe /s /v"/qb"
echo Starting Test 2 Installation
msiexec /i Test2.msi /quiet
(If the drive has not been mapped by this point, the installation fails as the SYSTEM account can't access the drive)

echo.

REM Restarting Mcafee Services
echo Starting McAfee Services.
net start mcshield
net start mcafeeframework
echo.

REM Copy Shortcut
xcopy "shortcut\*" "C:\Users\public\desktop"

或者,

我可以/應該將其轉換為PS腳本嗎? 我知道PS比批處理功能強大,但不確定如何去做。

如果通過強制身份驗證提示來表示您需要人工輸入的內容(並且您不是遠程運行此腳本),則此行應與現有的登錄會話進行交互並要求提供憑據:

start explorer \\test\test
echo After you have entered network credentials
pause

用戶輸入有效腳本后,其余腳本即可繼續

net use X: \\test\test

經過數周關於這個問題的想法,我決定采用一種新方法。

我使用簡單的NET USE創建了一個新的批處理文件,並以純文本形式傳遞了可訪問網絡共享的服務帳戶的憑據。 接下來,我將該批處理編譯為可執行文件。 我敢肯定,這不是最優雅的解決方案,但足以滿足當前的需求。

感謝大家的幫助!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM