Je voudrais vérifier (par VBScript) si le contexte dans lequel le script s'exécute me permet d'effectuer des tâches administratives.VBScript: Vérifie si le script a des permissions administratives
Exigences:
- La solution devrait fonctionner sur tous les systèmes d'exploitation Windows Server 2003. commençant par (Cette règle des solutions qui vérifient juste pour l'appartenance au groupe Administrateurs - rappelez-vous qu'il ya UAC dans Vista et Windows 7!)
- La solution doit être simple. Une solution 50 LOC qui vérifie les appartenances au groupe Windows (de façon récursive, bien sûr, puisque l'utilisateur peut être membre d'un groupe membre d'un groupe ... qui est membre du groupe Administrateurs) et effectue ensuite des contrôles supplémentaires pour Vista UAC est pas simple.
- La solution peut être un peu sale, donc quelque chose le long des lignes de this solution serait ok.
- Il ne devrait pas être trop sale. Écrire un fichier dans C: \ Windows ou écrire une clé de registre est trop sale à mon avis, puisqu'il modifie le système. (EDIT: Ce qui pourrait ne pas fonctionner de toute façon: par exemple, lors de l'utilisation VBScript dans une HTA, coups de pied de redirection du CCU à.)
question connexe: https://stackoverflow.com/questions/301860 (toutes les réponses que je (présence de a) ignorer la question UAC et (b) sont défectueux car ils ignorent la possibilité qu'un utilisateur ait des permissions administratives bien qu'il ne soit pas membre direct dans le groupe Administrateurs)
Approche intéressante; vous devez ajouter >> Si UserPerms ("Elevated") Then Message = Message & ", mais en cours d'exécution" << après la ligne "UAC Turned On". Le whoami.exe est un réel inconvénient, d'autant plus que je ne suis pas sûr que vous ayez le droit de le redistribuer (et vous ne pouvez pas vous attendre à ce qu'un client télécharge lui-même un tel fichier). – Heinzi
Oui, j'aime cette addition. Je ne peux pas trouver un moyen de WMI autre que l'itinéraire déjà exploré avec l'appartenance de groupe (et imbriquée). Il peut toujours y avoir un composant COM qui permet à vbscript de vérifier rapidement le statut de l'administrateur. –