Demander un accès administrateur dans un fichier de commandes sous Windows 8

1

J'utilise toujours le code suivant pour demander automatiquement le contrôle de compte d'utilisateur. Il fonctionne correctement sous Windows Vista / 7 / 2008.Mais il semble que sous Windows 8, le script ne puisse pas obtenir le privilège de l'administrateur, même les invites du contrôle de compte d'utilisateur et je clique sur yes. modifié?

:: Get Administrator Privilege on Windows Vista/7/2008
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
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" )
hajimuz
la source

Réponses:

1

S’avère que cela n’a rien à voir avec le privilège d’administrateur. Le problème concerne le variables système PATH par défaut sur certaines de mes machines Windows 8.C: \ windows \ system32 n'est pas inclus dans le chemin système, de sorte que toutes les commandes d'administration ne peuvent être exécutées que si le répertoire currenty est C: \ Windows \ system32.

Microsoft Windows [Version 6.2.9200]
(c) 2012 Microsoft Corporation. All rights reserved.

C:\Windows\system32>net stop wuauserv
The Windows Update service is stopping.
The Windows Update service was stopped successfully.


C:\Windows\system32>cd %userprofile%

C:\Users\itadmin>net start wuauserv
'net' is not recognized as an internal or external command,
operable program or batch file.

C:\Users\itadmin>set PATH
Path=.;C:\Program Files\Java\jre7\BIN;C:\Program Files\jre1.7.0_21;
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC

C:\Users\itadmin>

En guise de solution, j'ai ajouté la ligne suivante dans le lot:

SET PATH=%PATH%;C:\Windows\System32\
hajimuz
la source