je dois exécuter un fichier batch (setup.bat) qui fera appel à un autre fichier batch (make_dir.bat) qui va créer un dossier dans le répertoire « C: \ Program Files "répertoire. C'est pour un installateur interne. Tous les utilisateurs seront connectés avec leurs noms d'utilisateur mais auront des droits d'administrateur local. J'ai essayé deux approches mais aucune ne fonctionne.l'exécution d'un fichier de commandes à partir d'un autre fichier batch comme admisitrator
Approche 1:
SET PRGFILES=%programfiles%\mySoftware
SET admin=N
SET domain=%USERDOMAIN%\
IF /i "%domain%" EQU "%computername%\" set domain=
SET user=%domain%%username%
FOR /f "Tokens=*" %%a IN ('net localgroup administrators^|find /i "%user%"') DO SET admin=Y
IF "%admin%"=="Y" (
MD "%PRGFILES%"
)
Ce dit Access is denied
Approche 2:
runas /user:%Username% shell\make_dir.bat
où make_dir.bat est
md "%programfiles%\mySoftware"
Cela demande l'utilisation actuelle rname et mot de passe mais en quelque sorte échoue après cela. J'ai vérifié que tous les utilisateurs ont des droits d'administrateur local et peuvent créer manuellement un dossier dans leur dossier programfiles
.
Merci pour l'aide.
Il fonctionne pour Vista et plus. Windows XP certains comment ont des problèmes, ne me souviens pas exactement que ... – gavenkoa
utilisateur sera invité à autoriser admin (OUI/NON dialogue) ... – gavenkoa