Bonjour
J'ai deux petites questions:
1/ Savez vous si en vbs c'est possible de vérifier si un contrôle utilisateur est activé (UAC) ?
2/ Que signifie If WScript.Arguments.length =0 Then ?
Cordialement
Bonjour
J'ai deux petites questions:
1/ Savez vous si en vbs c'est possible de vérifier si un contrôle utilisateur est activé (UAC) ?
2/ Que signifie If WScript.Arguments.length =0 Then ?
Cordialement
C'est le nombre d'arguments utilisés; c'est la même chose que If WScript.Arguments.Count =0 ThenQue signifie If WScript.Arguments.length =0 Then ?
Ne pas oublier le tag
si satisfait.
Voter pour toute réponse satisfaisante avec
pour encourager les intervenants.
Balises CODE indispensables. Regardez ICI
Toujours utiliser la clause Option Explicit(VBx, VBS ou VBA) et Ne jamais typer variables et/ou fonctions en VBS.
Vous pouvez consulter mes contributions
Ne pas oublier de consulter les différentes FAQs et les Cours/Tutoriels VB6/VBScript
Ne pas oublier L'Aide VBScript et MSDN VB6 Fr
Merci mais honnêtement j'ai pas compris a quoi il sert..
Par exemple a quoi il sert dans ce code (je l'utilise depuis des années sans savoir a quoi il sert)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 If WScript.Arguments.length =0 Then Set objShell = CreateObject("Shell.Application") objShell.ShellExecute "WScript.exe", Chr(34) & _ WScript.ScriptFullName & Chr(34) & " uac", "", "runas", 1 Else MsgBox "Ce message est demandé avec une élévation !" End If
Cela veut dire que s'il n'y a pas de limitation de privilèges, on lance le programme en tant qu'utilisateur actuel.Par exemple a quoi il sert dans ce code
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 If WScript.Arguments.length =0 Then Set objShell = CreateObject("Shell.Application") objShell.ShellExecute "WScript.exe", Chr(34) & _ WScript.ScriptFullName & Chr(34) & " uac", "", "runas", 1 Else MsgBox "Ce message est demandé avec une élévation !" End If
Sinon, l'opération ne sera pas acceptée car il faut être en super-Admin pour pouvoir lancer le programme(en l'occurrence Wscript.exe).
Pour savoir si l'UAC est activé ou non :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 Option Explicit Const Key="HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\EnableLUA" Dim WS Set WS = CreateObject("WScript.Shell") If WS.RegRead(Key) = 0 Then MsgBox "UAC désactivé" ElseIf WS.RegRead(Key) = 1 Then MsgBox " UAC activé" End If
Ne pas oublier le tag
si satisfait.
Voter pour toute réponse satisfaisante avec
pour encourager les intervenants.
Balises CODE indispensables. Regardez ICI
Toujours utiliser la clause Option Explicit(VBx, VBS ou VBA) et Ne jamais typer variables et/ou fonctions en VBS.
Vous pouvez consulter mes contributions
Ne pas oublier de consulter les différentes FAQs et les Cours/Tutoriels VB6/VBScript
Ne pas oublier L'Aide VBScript et MSDN VB6 Fr
Merci pour le code de vérification UAC
Si j'ai bien compris, si WScript.Arguments.length =0 alors il n' y a pas de limitation de privilèges, par contre si WScript.Arguments.length =1 il y a alors une limitation ?
Pour récapituler:
Si WScript.Arguments.length =0 cela concerne les comptes Administrateurs
Si WScript.Arguments.length =1 cela concerne les comptes Invités
Merci
Si WScript.Arguments.length =0 : Pas d'arguments supplémentaire => Comptes utilisateurs(actuels ou peut-être invités)
Si WScript.Arguments.length =1 : Condition supplémentaire => Comptes Administrateurs
Ne pas oublier le tag
si satisfait.
Voter pour toute réponse satisfaisante avec
pour encourager les intervenants.
Balises CODE indispensables. Regardez ICI
Toujours utiliser la clause Option Explicit(VBx, VBS ou VBA) et Ne jamais typer variables et/ou fonctions en VBS.
Vous pouvez consulter mes contributions
Ne pas oublier de consulter les différentes FAQs et les Cours/Tutoriels VB6/VBScript
Ne pas oublier L'Aide VBScript et MSDN VB6 Fr
Partager