Je cherche à écrire ce bout de code en VBS, mais mes connaissances
sont limitées...
Private Declare Function IsNTAdmin Lib "advpack.dll" (ByVal
dwReserved AsLong, ByRef lpdwReserved AsLong) AsLong
Private Sub Form_Load()
Msgbox "Etes vous administrateur de ce poste ? " &
CBool(IsNTAdmin(ByVal 0&, ByVal 0&))
End Sub
Je n'ai pas trouvé comment déclarer et utiliser une API en VbScript.
Cela afin d'afficher un MSGBox à l'utilisateur qui devra installer mon
logiciel (il doit avoir des droits Admin)
Je cherche à écrire ce bout de code en VBS, mais mes connaissances
sont limitées...
Private Declare Function IsNTAdmin Lib "advpack.dll" (ByVal
dwReserved AsLong, ByRef lpdwReserved AsLong) AsLong
Private Sub Form_Load()
Msgbox "Etes vous administrateur de ce poste ? " &
CBool(IsNTAdmin(ByVal 0&, ByVal 0&))
End Sub
Je n'ai pas trouvé comment déclarer et utiliser une API en VbScript.
Cela afin d'afficher un MSGBox à l'utilisateur qui devra installer mon
logiciel (il doit avoir des droits Admin)
Je cherche à écrire ce bout de code en VBS, mais mes connaissances
sont limitées...
Private Declare Function IsNTAdmin Lib "advpack.dll" (ByVal
dwReserved AsLong, ByRef lpdwReserved AsLong) AsLong
Private Sub Form_Load()
Msgbox "Etes vous administrateur de ce poste ? " &
CBool(IsNTAdmin(ByVal 0&, ByVal 0&))
End Sub
Je n'ai pas trouvé comment déclarer et utiliser une API en VbScript.
Cela afin d'afficher un MSGBox à l'utilisateur qui devra installer mon
logiciel (il doit avoir des droits Admin)
Salut cc134,
tu nous disais :Je cherche à écrire ce bout de code en VBS, mais mes connaissances
sont limitées...
Private Declare Function IsNTAdmin Lib "advpack.dll" (ByVal
dwReserved AsLong, ByRef lpdwReserved AsLong) AsLong
Private Sub Form_Load()
Msgbox "Etes vous administrateur de ce poste ? " &
CBool(IsNTAdmin(ByVal 0&, ByVal 0&))
End Sub
Je n'ai pas trouvé comment déclarer et utiliser une API en VbScript.
Ce n'est pas possible, à mon grand regret, sans add-ons.Cela afin d'afficher un MSGBox à l'utilisateur qui devra installer mon
logiciel (il doit avoir des droits Admin)
Par contre, tu peux tester si l'utilisateur fait partie du groupe admin
par WMI.
(ou simplement en bat :
net user %username%|find /i "administrateurs"
)
@+
--
~Jean-Marc~ MVP Shell/User Fr
( Vista x86 Ultimate )
- http://msmvps.com/blogs/docxp/ -
- http://docxp.mvps.org -
Salut cc134,
tu nous disais :
Je cherche à écrire ce bout de code en VBS, mais mes connaissances
sont limitées...
Private Declare Function IsNTAdmin Lib "advpack.dll" (ByVal
dwReserved AsLong, ByRef lpdwReserved AsLong) AsLong
Private Sub Form_Load()
Msgbox "Etes vous administrateur de ce poste ? " &
CBool(IsNTAdmin(ByVal 0&, ByVal 0&))
End Sub
Je n'ai pas trouvé comment déclarer et utiliser une API en VbScript.
Ce n'est pas possible, à mon grand regret, sans add-ons.
Cela afin d'afficher un MSGBox à l'utilisateur qui devra installer mon
logiciel (il doit avoir des droits Admin)
Par contre, tu peux tester si l'utilisateur fait partie du groupe admin
par WMI.
(ou simplement en bat :
net user %username%|find /i "administrateurs"
)
@+
--
~Jean-Marc~ MVP Shell/User Fr
( Vista x86 Ultimate )
- http://msmvps.com/blogs/docxp/ -
- http://docxp.mvps.org -
Salut cc134,
tu nous disais :Je cherche à écrire ce bout de code en VBS, mais mes connaissances
sont limitées...
Private Declare Function IsNTAdmin Lib "advpack.dll" (ByVal
dwReserved AsLong, ByRef lpdwReserved AsLong) AsLong
Private Sub Form_Load()
Msgbox "Etes vous administrateur de ce poste ? " &
CBool(IsNTAdmin(ByVal 0&, ByVal 0&))
End Sub
Je n'ai pas trouvé comment déclarer et utiliser une API en VbScript.
Ce n'est pas possible, à mon grand regret, sans add-ons.Cela afin d'afficher un MSGBox à l'utilisateur qui devra installer mon
logiciel (il doit avoir des droits Admin)
Par contre, tu peux tester si l'utilisateur fait partie du groupe admin
par WMI.
(ou simplement en bat :
net user %username%|find /i "administrateurs"
)
@+
--
~Jean-Marc~ MVP Shell/User Fr
( Vista x86 Ultimate )
- http://msmvps.com/blogs/docxp/ -
- http://docxp.mvps.org -
"cc134" a écrit dans le message de
news:fqjg16$jjl$
| Merci,
Bonsoir,
| Ok pour un batch, c'est ce que j'utilise actuellement. Mais
| l'application que j'installe affiche un msg lié au fait que
| l'opérateur ne soit pas un administrateur.
Plusieurs pistes :
1- L'outil de packaging
Ne serait-il pas le rôle de l'installeur (setup) de vérifier si
l'utilisateur courant a les droits nécessaires pour installer votre
application ? Tous les outils de packaging sérieux possèdent cette
fonctionnalité. Je vous invite à jeter un oeil sur les installeurs :
Inno Setup
http://www.jrsoftware.org/isinfo.php
NSIS:
http://nsis.sourceforge.net/Main_Page
2- La détermination des droits
Le test sur la commande "net user" implique que l'utilisateur soit
nominativement membre du groupe local Administrateurs. Cela est rarement
le cas ! En effet les utilisateurs "privilégiés" sont souvent membres de
groupes de domaine intégrés au groupe local (Admins du domaine, via une
stratégie de groupes restreints, de manière intéractive, ...". Toutefois
une solution de contournement consiste à tester les droits de
l'utilisateur sur un dossier du système d'exploitation (ici
%windir%system32). C'est cette solution que je vous propose ici :
--- Coupez ici ---
Function IsNTAdmin
On Error Resume Next
Set oFs=CreateObject("Scripting.FileSystemObject")
Set oSh=CreateObject("WScript.Shell")
sSysPath=oSh.ExpandEnvironmentStrings("%windir%system32")
sTestFile=sSysPath & "IsNTAdmin.log"
oFs.CreateTextFile(sTestFile)
IsNTAdmin=Err.Number
oFs.DeleteFile(sTestFile)
On Error Goto 0
End Function
' Main
If IsNTAdmin() Then
WScript.Echo "You are not an Administrator, sorry !"
Else
WScript.Echo "You seem to be an Administrator or a Power User !"
End If
--- Coupez ici ---
--
Gilles LAURENT
MVP Windows Server - Admin Frameworks
http://glsft.free.fr
"cc134" <c.co@electronique.fr> a écrit dans le message de
news:fqjg16$jjl$1@s1.news.oleane.net
| Merci,
Bonsoir,
| Ok pour un batch, c'est ce que j'utilise actuellement. Mais
| l'application que j'installe affiche un msg lié au fait que
| l'opérateur ne soit pas un administrateur.
Plusieurs pistes :
1- L'outil de packaging
Ne serait-il pas le rôle de l'installeur (setup) de vérifier si
l'utilisateur courant a les droits nécessaires pour installer votre
application ? Tous les outils de packaging sérieux possèdent cette
fonctionnalité. Je vous invite à jeter un oeil sur les installeurs :
Inno Setup
http://www.jrsoftware.org/isinfo.php
NSIS:
http://nsis.sourceforge.net/Main_Page
2- La détermination des droits
Le test sur la commande "net user" implique que l'utilisateur soit
nominativement membre du groupe local Administrateurs. Cela est rarement
le cas ! En effet les utilisateurs "privilégiés" sont souvent membres de
groupes de domaine intégrés au groupe local (Admins du domaine, via une
stratégie de groupes restreints, de manière intéractive, ...". Toutefois
une solution de contournement consiste à tester les droits de
l'utilisateur sur un dossier du système d'exploitation (ici
%windir%system32). C'est cette solution que je vous propose ici :
--- Coupez ici ---
Function IsNTAdmin
On Error Resume Next
Set oFs=CreateObject("Scripting.FileSystemObject")
Set oSh=CreateObject("WScript.Shell")
sSysPath=oSh.ExpandEnvironmentStrings("%windir%system32")
sTestFile=sSysPath & "IsNTAdmin.log"
oFs.CreateTextFile(sTestFile)
IsNTAdmin=Err.Number
oFs.DeleteFile(sTestFile)
On Error Goto 0
End Function
' Main
If IsNTAdmin() Then
WScript.Echo "You are not an Administrator, sorry !"
Else
WScript.Echo "You seem to be an Administrator or a Power User !"
End If
--- Coupez ici ---
--
Gilles LAURENT
MVP Windows Server - Admin Frameworks
http://glsft.free.fr
"cc134" a écrit dans le message de
news:fqjg16$jjl$
| Merci,
Bonsoir,
| Ok pour un batch, c'est ce que j'utilise actuellement. Mais
| l'application que j'installe affiche un msg lié au fait que
| l'opérateur ne soit pas un administrateur.
Plusieurs pistes :
1- L'outil de packaging
Ne serait-il pas le rôle de l'installeur (setup) de vérifier si
l'utilisateur courant a les droits nécessaires pour installer votre
application ? Tous les outils de packaging sérieux possèdent cette
fonctionnalité. Je vous invite à jeter un oeil sur les installeurs :
Inno Setup
http://www.jrsoftware.org/isinfo.php
NSIS:
http://nsis.sourceforge.net/Main_Page
2- La détermination des droits
Le test sur la commande "net user" implique que l'utilisateur soit
nominativement membre du groupe local Administrateurs. Cela est rarement
le cas ! En effet les utilisateurs "privilégiés" sont souvent membres de
groupes de domaine intégrés au groupe local (Admins du domaine, via une
stratégie de groupes restreints, de manière intéractive, ...". Toutefois
une solution de contournement consiste à tester les droits de
l'utilisateur sur un dossier du système d'exploitation (ici
%windir%system32). C'est cette solution que je vous propose ici :
--- Coupez ici ---
Function IsNTAdmin
On Error Resume Next
Set oFs=CreateObject("Scripting.FileSystemObject")
Set oSh=CreateObject("WScript.Shell")
sSysPath=oSh.ExpandEnvironmentStrings("%windir%system32")
sTestFile=sSysPath & "IsNTAdmin.log"
oFs.CreateTextFile(sTestFile)
IsNTAdmin=Err.Number
oFs.DeleteFile(sTestFile)
On Error Goto 0
End Function
' Main
If IsNTAdmin() Then
WScript.Echo "You are not an Administrator, sorry !"
Else
WScript.Echo "You seem to be an Administrator or a Power User !"
End If
--- Coupez ici ---
--
Gilles LAURENT
MVP Windows Server - Admin Frameworks
http://glsft.free.fr
Bonjour !
Si vous utilisez %username% tout seul, vous allez chercher dans le nom
lui-même, et pas dans son appartenance à un groupe.
Pour les différents OS, il faut tester la commande isolément (du FOR).
Je regrette d'avoir à le dire, mais il ne faut pas appréhender
l'informatique comme la magie. Il faut essayer de comprendre le
déroulement des opérations, et pas utiliser une formule magique toute
prête.
Il y a un risque, à utiliser Abracadabra.bat (ou Abracadabra.vbs avec
Gilles Laurent), sans en comprendre le contenu : au moindre changement
de situation, tout peut être bloqué.
Lorsqu'on vous donne des indications, des informations, des "trucs",
c'est pour vous guider, pas pour vous fournir une prestation toute
ficelée.
Ayant déjà passé pas mal de temps à tester et à rechercher sur le net
@-salutations
--
Michel Claveau
Bonjour !
Si vous utilisez %username% tout seul, vous allez chercher dans le nom
lui-même, et pas dans son appartenance à un groupe.
Pour les différents OS, il faut tester la commande isolément (du FOR).
Je regrette d'avoir à le dire, mais il ne faut pas appréhender
l'informatique comme la magie. Il faut essayer de comprendre le
déroulement des opérations, et pas utiliser une formule magique toute
prête.
Il y a un risque, à utiliser Abracadabra.bat (ou Abracadabra.vbs avec
Gilles Laurent), sans en comprendre le contenu : au moindre changement
de situation, tout peut être bloqué.
Lorsqu'on vous donne des indications, des informations, des "trucs",
c'est pour vous guider, pas pour vous fournir une prestation toute
ficelée.
Ayant déjà passé pas mal de temps à tester et à rechercher sur le net
@-salutations
--
Michel Claveau
Bonjour !
Si vous utilisez %username% tout seul, vous allez chercher dans le nom
lui-même, et pas dans son appartenance à un groupe.
Pour les différents OS, il faut tester la commande isolément (du FOR).
Je regrette d'avoir à le dire, mais il ne faut pas appréhender
l'informatique comme la magie. Il faut essayer de comprendre le
déroulement des opérations, et pas utiliser une formule magique toute
prête.
Il y a un risque, à utiliser Abracadabra.bat (ou Abracadabra.vbs avec
Gilles Laurent), sans en comprendre le contenu : au moindre changement
de situation, tout peut être bloqué.
Lorsqu'on vous donne des indications, des informations, des "trucs",
c'est pour vous guider, pas pour vous fournir une prestation toute
ficelée.
Ayant déjà passé pas mal de temps à tester et à rechercher sur le net
@-salutations
--
Michel Claveau