Por que “executar este programa como administrador” está desativado?

5

Eu preciso parar alguns serviços, então eu fiz um arquivo cmd, mas ele não funciona porque ele precisa ser executado como administrador. Quando clico com o botão direito no arquivo e escolho as Propriedades, vejo que "executar este programa como administrador" está desabilitado. Por quê? Como faço para ligá-lo?

O UAC está ativado (mas definido para não escurecer a tela) e para outros programas (arquivos exe) essa caixa é ativada.

    
por Rigel 09.11.2011 / 11:22

3 respostas

10

Como solução alternativa, você pode tentar isso.

Criar um atalho para o arquivo em lotes
Clique com o botão direito do mouse no atalho e selecione as propriedades. (Ignorar a opção na guia de compatibilidade, que ainda está desabilitada)
Selecione a guia Atalho Clique em Advanced
Selecione "Executar como administrador"
Clique em Ok

    
por 09.11.2011 / 12:25
1

Encontrei um arquivo em lote muito útil aqui:

link

cito o arquivo CMD que você precisará:

@ECHO OFF

REM Changing working folder back to current directory
%~d0
CD %~dp0
REM Folder changed

REM Check first if Windows XP
for /f "tokens=3*" %%i IN ('reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v ProductName ^| Find "ProductName"') DO set vers=%%i %%j 
echo %vers% | find "XP" > nul
if %ERRORLEVEL% == 0 goto ver_xp

REM Ask for admin access
if exist "admincheckOK.txt" goto adminOK1
del /Q admincheckOK.vbs
ECHO.
ECHO. Please wait...
echo.Set objShell = CreateObject("Shell.Application") > admincheckOK.vbs
echo.Set FSO = CreateObject("Scripting.FileSystemObject") >> admincheckOK.vbs
echo.strPath = FSO.GetParentFolderName (WScript.ScriptFullName) >> admincheckOK.vbs
echo.If FSO.FileExists(%0) Then >> admincheckOK.vbs
echo. Dim oShell >> admincheckOK.vbs
echo. Set oShell = WScript.CreateObject ("WScript.Shell") >> admincheckOK.vbs
echo. oShell.run "cmd.exe /c echo admincheckOK > admincheckOK.txt" >> admincheckOK.vbs
echo. Set oShell = Nothing >> admincheckOK.vbs
echo. objShell.ShellExecute "cmd.exe", " /c " ^& %0 ^& " ", "", "runas", 1 >> admincheckOK.vbs
echo.Else >> admincheckOK.vbs
echo. MsgBox "Script file not found" >> admincheckOK.vbs
echo.End If >> admincheckOK.vbs
cscript //B admincheckOK.vbs
goto timeend
:adminOK1
del /Q admincheckOK.txt
del /Q admincheckOK.vbs
:ver_xp
REM Admin Access allowed
REM CMD CODE TO RUN AS ADMIN HERE!!
REM Following statement required if Admin access denied
:timeend
del /Q admincheckOK.vbs

Após o REM CMD CODE TO RUN AS ADMIN HERE!! , você terá acesso de administrador. Ele usa muitos truques para conseguir isso.

Cria efetivamente um arquivo .vbs VBScript. O VBScript pode acionar o UAC. Ele também criará um admincheckOK.txt que informa ao arquivo em lote que está no modo de administração agora mesmo quando for executado na próxima vez (o que acontece logo depois disso usando objShell.ShellExecute )

Ao contrário da variante com o arquivo de link, você precisará apenas de um arquivo no diretório na maioria das vezes. Por um segundo remoto durante a execução do arquivo de lote, haverá 3 arquivos dentro, mas eles serão excluídos posteriormente.

    
por 11.11.2011 / 08:38
0

Apenas tente apropriar-se do arquivo por right-click no arquivo
Selecione Security e, em seguida, você pode usar Editar ou Advance settings para alterar as permissões do arquivo. Eu acho que isso ajudaria você.

    
por 11.11.2011 / 08:24