kzen.dev
  • Questions
  • Tags
  • Utilisateurs
Notifications
Récompenses
Inscription
Une fois inscrit, vous serez informé des réponses et des commentaires à vos questions.
Connectez-vous
Si vous avez déjà un compte, connectez-vous pour vérifier les nouvelles notifications.
Il y aura des récompenses pour les questions, réponses et commentaires ajoutés.
Détails
Source
Editer
 JChan
JChan
Question

Comment créer un fichier batch pour exécuter cmd en tant qu'administrateur ?

Je dois exécuter un fichier batch qui doit enregistrer une DLL. L'enregistrement de la DLL échoue parce que le fichier batch ne démarre pas l'invite de commande en tant qu'"administrateur".

Existe-t-il un moyen de lancer l'invite de commande en tant qu'administrateur par le biais du fichier batch ?

Environnement : Win7/Vista

31 2012-07-17T14:44:14+00:00 3
Colin Brock
Colin Brock
Question modifiée 17 juillet 2012 в 2:58
Programmation
batch-file
Cette question a 1 réponse en anglais, pour les lire connectez-vous à votre compte.
Solution / Réponse
Bali C
Bali C
17 juillet 2012 в 2:47
2012-07-17T14:47:03+00:00
Détails
Source
Editer
#16711486

Vous devrez peut-être utiliser d'abord un autre fichier batch pour lancer le second avec des droits d'administrateur.

Dans le premier, utilisez

runas /noprofile /user:mymachine\administrator yourbatchfile.bat

Après lecture, vous devez être capable de taper le mot de passe à l'invite. Vous ne pouvez pas taper le mot de passe car cette fonction a été verrouillée pour des raisons de sécurité.

Vous aurez peut-être plus de chance avec [psexec][1].

[1] : http://technet.microsoft.com/en-us/sysinternals/bb897553.aspx

Bali C
Bali C
Réponse modifiée 17 juillet 2012 в 4:23
PsExec - Windows Sysinternals | Microsoft Learn
Execute processes on remote systems.
technet.microsoft.com
8
0
Alois Mahdal
Alois Mahdal
22 août 2012 в 12:08
2012-08-22T12:08:53+00:00
Détails
Source
Editer
#16711487

(Ceci est basé sur la réponse de @DarkXphenomenon's, qui présentait malheureusement quelques problèmes).

Vous devez enfermer votre code dans ce wrapper:

if _%1_==_payload_  goto :payload

:getadmin
    echo %~nx0: elevating self
    set vbs=%temp%\getadmin.vbs
    echo Set UAC = CreateObject^("Shell.Application"^)                >> "%vbs%"
    echo UAC.ShellExecute "%~s0", "payload %~sdp0 %*", "", "runas", 1 >> "%vbs%"
    "%temp%\getadmin.vbs"
    del "%temp%\getadmin.vbs"
goto :eof

:payload
    echo %~nx0: running payload with parameters:
    echo %*
    echo ---------------------------------------------------
    cd /d %2
    shift
    shift
    rem put your code here
    rem e.g.: perl myscript.pl %1 %2 %3 %4 %5 %6 %7 %8 %9
goto :eof

Cela permet au fichier batch de s'exécuter en tant qu'utilisateur élevé. Il ajoute deux paramètres au code privilégié:

  • le mot payload, pour indiquer qu'il s'agit d'un appel payload, c'est à dire déjà élevé. Sinon Sinon, il ne ferait qu'ouvrir de nouveaux processus encore et encore.

  • Le chemin du répertoire où le script principal a été appelé. En raison du fait que Windows lance toujours toujours, Windows démarre un cmd.exe élevé dans "%windir%\system32&quot ;, il n&#8217y a pas de moyen facile de connaître le chemin le chemin d'origine (et de conserver la possibilité de copier votre script sans toucher au code). sans toucher au code)

Note: Malheureusement, pour une raison quelconque, shift ne fonctionne pas pour %*, donc si vous devez si vous devez passer des arguments réels, vous devrez utiliser la notation laide que j'ai utilisée dans l'exemple (%1 %2 %3 %4 %5 %6 %7 %8 %9), qui apporte également la limite de maximum de 9 arguments

 Community
Community
Réponse modifiée 23 mai 2017 в 11:47
7
0
 jojois74
jojois74
5 juillet 2013 в 10:38
2013-07-05T22:38:33+00:00
Détails
Source
Editer
#16711488

Vous pouvez utiliser un raccourci qui renvoie au fichier batch. Il suffit d'aller dans les propriétés du raccourci et de sélectionner avancé, puis "exécuter en tant qu'administrateur&quot ;.

Ensuite, il suffit de masquer le fichier batch et d'exécuter le raccourci.

De cette façon, vous pouvez même définir votre propre icône pour le raccourci.

3
0
Ajouter une question
Catégories
Toutes
Technologie
Culture / Loisirs
Vie / Arts
Science
Professionnel
Entreprises
Utilisateurs
Tous
Nouveau
Populaire
1
Денис Васьков
Enregistré il y a 15 heures
2
Dima Patrushev
Enregistré il y a 2 jours
3
sirojidddin otaboyev
Enregistré il y a 1 semaine
4
Елена Гайдамамакинат
Enregistré il y a 1 semaine
5
Иван Степанюк
Enregistré il y a 1 semaine
DE
ES
FR
ID
JA
KO
PT
RU
TR
© kzen.dev 2023
Source
stackoverflow.com
sous licence cc by-sa 3.0 avec l'attribution