0
我有批處理文件,即test.bat。我需要以管理員模式運行postgresql命令。 基本上該命令是爲postgres設置密碼。 我試圖如何以管理員模式運行命令
C:/用戶/探路者>的RunAs /用戶:管理員網絡用戶的Postgres的Postgres
但它不工作了。
我有批處理文件,即test.bat。我需要以管理員模式運行postgresql命令。 基本上該命令是爲postgres設置密碼。 我試圖如何以管理員模式運行命令
C:/用戶/探路者>的RunAs /用戶:管理員網絡用戶的Postgres的Postgres
但它不工作了。
我試過這段代碼。它的工作,如果我直接運行批處理文件,即test.exe,但如果我將此文件配置爲高級安裝程序並通過.exe文件運行它將進入無限期的終端開放循環。
就在您的批處理文件的開始添加這些代碼:
@ECHO OFF
:: 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"
並編寫批處理文件腳本略低於上面的代碼。 它將幫助您以管理員身份執行命令。
你必須嘗試解釋你想達到什麼 - 上面的命令似乎沒有運行任何東西,據我所知。你想以管理員身份啓動PostgreSQL服務器,還是以「postgres」用戶身份運行一些SQL? –
@RichardHuxton:我想爲postgres設置密碼。 –
你是在談論postgres ** Windows **用戶還是postgres **數據庫**用戶?另外:從9.2開始,不需要特殊的postgres * Windows *用戶來運行該服務 –