我試圖部署一個應用程序通過SCCM到Windows 7個(約300個)。該應用程序基於Java jre-7u55。 部署或應用程序沒有問題。部署工作,但問題是nonadmin和管理員用戶應用程序正在推廣Windows UAC。並且應用程序只允許爲管理員用戶運行,而不是普通用戶認爲他們提供了正確的憑據。 (應用簡稱這裏是bat文件創建一個快捷方式,可以加載Java二進制文件,程序的東西)不知道這段代碼究竟做了什麼
這是bat文件..
@echo off
setlocal
setlocal enabledelayedexpansion
:: BatchGotAdmin
:-------------------------------------
REM --> Check for permissions
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
REM --> If error flag set, we do not have admin.
if '%errorlevel%' NEQ '0' (
echo Requesting administrative privileges...
goto UACPrompt
) else (goto gotAdmin)
:UACPrompt
echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs"
"%temp%\getadmin.vbs"
exit /B
:gotAdmin
if exist "%temp%\getadmin.vbs" (del "%temp%\getadmin.vbs")
pushd "%CD%"
CD /D "%~dp0"
:--------------------------------------
:install
set GAS_BIN=%~dp0
cd %GAS_BIN%
cd ..
set GAS_HOME=%cd%
cd "%GAS_HOME%"
set JAVA_OPTS=-Xms128m -Xmx512m -XX:MaxPermSize=128M
set CLASSPATH=bin/*
set JAVA_HOME=C:/Java/jre1.7.0.55
set PATH=%JAVA_HOME%/bin;%PATH%
start "GAS STANDALONE" "%JAVA_HOME%\bin\javaw" %JAVA_OPTS% -classpath "%CLASSPATH%" com.airbus.agsm.core.launcher.ServerMain
:done
endlocal
我對關心的是下面的代碼是什麼(我知道這是負責UAC的東西)UAC碼
@echo off
setlocal
setlocal enabledelayedexpansion
:: BatchGotAdmin
:-------------------------------------
REM --> Check for permissions
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
REM --> If error flag set, we do not have admin.
if '%errorlevel%' NEQ '0' (
echo Requesting administrative privileges...
goto UACPrompt
) else (goto gotAdmin)
:UACPrompt
echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs"
"%temp%\getadmin.vbs"
exit /B
:gotAdmin
if exist "%temp%\getadmin.vbs" (del "%temp%\getadmin.vbs")
pushd "%CD%"
CD /D "%~dp0"
:--------------------------------------
我對編程一定的瞭解。然而,我想確保這是強制管理員權限來運行/加載Java代碼的部分。
或是否嘗試執行其他操作並失敗,然後請求管理員權限以運行非應用程序 - 用戶。
我需要正確理解它以繼續進行Windows疑難解答或任何其他,以使其適用於非管理員用戶。
請幫助正確解釋它。 (三是從應用程序的創建者的支持較少以及林的系統部署的人不是程序員)
這個Java是如何精確地相關管理權限? – Stultuske
:安裝 set GAS_BIN =%〜dp0 cd%GAS_BIN% cd .. 組GAS_HOME =%CD% CD 「%GAS_HOME%」 組JAVA_OPTS = -Xms128m -Xmx512m -XX:MaxPermSize參數= 128M 組CLASSPATH =倉/ * 組JAVA_HOME = C:/Java/jre1.7.0.55 set PATH =%JAVA_HOME%/ bin;%PATH% start「GAS STANDALONE」「%JAVA_HOME%\ bin \ javaw」%JAVA_OPTS%-classpath「%CLASSPATH%」com.airbus.agsm.core.launcher.ServerMain :完成 endlocal – user879
它的代碼的後半部分 – user879