Savoir si XP est activé en ligne de commandes?

Le
AzertyH
Bonjour,

Je sais qu'il est possible de savoir si XP est activé en ligne de commandes:
Démarrer=>Exécuter=>oobe/msoobe /a

Ma question : Est-il possible de récupérer le résultat de l'activation dans
une variable? Par exemple, "1" pour windows activé, ou "0" pour windows
désactivé.

Mon but est de traiter des opérations différentes en fonction de l'état
d'activation de windows, et dans un fichier .bat, en ligne de commandes.

Merci pour votre aide, cordialement
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Fred
Le #1269622
Dans : news:,
AzertyH disait :
Bonjour,


Bonjour,

Je sais qu'il est possible de savoir si XP est activé en ligne de
commandes: Démarrer=>Exécuter=>oobe/msoobe /a

Ma question : Est-il possible de récupérer le résultat de
l'activation dans une variable? Par exemple, "1" pour windows activé,
ou "0" pour windows désactivé.


En écrivant un script qui fait appel à WMI.

Copie ce qui suit dans un fichier texte que tu renommes en Etat_wpa.vbs

Set wpaCol = (GetObject( _
"winmgmts:{impersonationLevel=impersonate}") _
.InstancesOf ("win32_WindowsProductActivation"))
For Each wpa in wpaCol
WScript.Echo wpa.ActivationRequired
Next

Tu peux le lancer en ligne de commande ainsi :
cscript Etat_wpa.vbs

et récupérer la sortie (0 ou 1)

Cela ne fonctionne que sous XP.


--
Fred
http://www.cerber mail.com/?3kA6ftaCvT (enlever l'espace)

AzertyH
Le #1269578
Merci beaucoup!

Le problème c'est que j'ai un niveau débutant pour la programmation de
fichier bat.
S'il vous plait, pouvez-vous m'aider à écrire la ligne de commande qui
récupère le résultat 0 ou 1, afin de l'exploter dans une condition if.

Merci encore



Dans : news:,
AzertyH disait :
Bonjour,


Bonjour,

Je sais qu'il est possible de savoir si XP est activé en ligne de
commandes: Démarrer=>Exécuter=>oobe/msoobe /a

Ma question : Est-il possible de récupérer le résultat de
l'activation dans une variable? Par exemple, "1" pour windows activé,
ou "0" pour windows désactivé.


En écrivant un script qui fait appel à WMI.

Copie ce qui suit dans un fichier texte que tu renommes en Etat_wpa.vbs

Set wpaCol = (GetObject( _
"winmgmts:{impersonationLevel=impersonate}") _
.InstancesOf ("win32_WindowsProductActivation"))
For Each wpa in wpaCol
WScript.Echo wpa.ActivationRequired
Next

Tu peux le lancer en ligne de commande ainsi :
cscript Etat_wpa.vbs

et récupérer la sortie (0 ou 1)

Cela ne fonctionne que sous XP.


--
Fred
http://www.cerber mail.com/?3kA6ftaCvT (enlever l'espace)





Fred
Le #1269576
Dans : news:,
AzertyH disait :
Merci beaucoup!

Le problème c'est que j'ai un niveau débutant pour la programmation de
fichier bat.
S'il vous plait, pouvez-vous m'aider à écrire la ligne de commande qui
récupère le résultat 0 ou 1, afin de l'exploter dans une condition if.


Bon, c'est un peu bidouille mais cela fonctionne.

@Echo Off
CScript //NoLogo wpa.vbs | Find "1"
If ErrorLevel 1 Goto Actif
Echo Windows n'est pas activé
Rem Traitement si non activé
Goto Fin
:Actif
Echo Windows est activé
Rem traitement si activé
:Fin


--
Fred
http://www.cerber mail.com/?3kA6ftaCvT (enlever l'espace)

Jacques93
Le #1269574
Bonjour Fred et AzertyH,
Dans : news:,
AzertyH disait :
Merci beaucoup!

Le problème c'est que j'ai un niveau débutant pour la programmation de
fichier bat.
S'il vous plait, pouvez-vous m'aider à écrire la ligne de commande qui
récupère le résultat 0 ou 1, afin de l'exploter dans une condition if.


Bon, c'est un peu bidouille mais cela fonctionne.

@Echo Off
CScript //NoLogo wpa.vbs | Find "1"
If ErrorLevel 1 Goto Actif
Echo Windows n'est pas activé
Rem Traitement si non activé
Goto Fin
:Actif
Echo Windows est activé
Rem traitement si activé
:Fin




Pourquoi ne pas quitter le vbs avec :

Wscript.Quit wpa.ActivationRequired

la valeur sera récupérée dans l'ErrorLevel du .bat

--
Cordialement,

Jacques.


Fred
Le #1269564
Dans : news:%,
Jacques93 écrivait :

Hello Jacques,

Pourquoi ne pas quitter le vbs avec :
Wscript.Quit wpa.ActivationRequired


Parce que je n'y ai pas pensé sans doute ? :-)

la valeur sera récupérée dans l'ErrorLevel du .bat


Je ne sais pas trop ce que veut faire AzertyH à la suite de ce test mais
il est peut-être également simple de rester en vbs.

Quand à l'utilisation de wmic, je n'ai pas approfondi. Cela
permettrait-il de rester en commandes DO.., euh console ?

Il y a Michel Claveau qui s'ennuie sur scripting. Je vais aller le
réveiller !

--
Fred
http://www.cerber mail.com/?3kA6ftaCvT (enlever l'espace)

AzertyH
Le #1269512
Merci infiniment, je ne pensais pas que des personnes pouvez m'aider à ce
sujet. J'ai eu de la chance de tomber sur des pros!

A propos de ce que je veut faire : Une installation automatisé de Windows
media player 10 ou 11.
Je pense que vous devez connaître le mode installe silencieuse en ligne de
commande pour chaque logiciels. En fait je me créais une archive auto
extractible avec winrar par exemple. Une fois les fichiers extraits, mon
archive auto extractible fait appelle à un script .bat. Ce script .bat
contrôle d'abord si Windows est activé. Si oui, alors on installe Windows
media player 11, sinon, le 10.
En effet, le 11 requiert l'activation de Windows pour pouvoir s'en servir.
Le 10 non.
Donc imaginons que quelqu'un n'a pas de licence Windows, il vaut mieux pour
lui que ce soit WMP10 qui soit installé. Ce package d'installation installe
une dixène de logiciels en mode silencieux, c'est à dire sans poser une seule
question; tout s'installe dans la foulée.
Fred
Le #1269504
Dans : news:,
AzertyH écrivait :

En effet, le 11 requiert l'activation de Windows pour pouvoir s'en
servir. Le 10 non.
Donc imaginons que quelqu'un n'a pas de licence Windows, ...


À la lecture de ce dernier post, je me demande si l'on parle bien de la
même chose.
Activation ou Validation ?
Ma réponse concerne l'activation.

--
Fred
http://www.cerber mail.com/?3kA6ftaCvT (enlever l'espace)

AzertyH
Le #1269501
Non, je ne pense pas qu'il y est de problème, on parle bien tout 2 de la même
chose : savoir si windows est ACTIVé.
WMP11 à besoin que windows soit activé pour pouvoir l'utiliser.

Par contre pour la validation, je ne sais pas de quoi tu veux parler? Je
sais qu'on valide l'autenticité de windows avec Windows Genuine Advantage
afin de pouvoir télécharger les mises à jours de windows update. Mais ce
n'est pas ce que je veut contrôler. D'ailleurs, Windows Genuine Advantage ne
sert pas à autoriser l'utilisation de windows media player 11.

J'espère que le code que tu m'a donné sert bien à contrôler l'activation de
windows.


Dans : news:,
AzertyH écrivait :

En effet, le 11 requiert l'activation de Windows pour pouvoir s'en
servir. Le 10 non.
Donc imaginons que quelqu'un n'a pas de licence Windows, ...


À la lecture de ce dernier post, je me demande si l'on parle bien de la
même chose.
Activation ou Validation ?
Ma réponse concerne l'activation.

--
Fred
http://www.cerber mail.com/?3kA6ftaCvT (enlever l'espace)





Fred
Le #1269494
Dans : news:,
AzertyH disait :
Non, je ne pense pas qu'il y est de problème, on parle bien tout 2 de
la même chose : savoir si windows est ACTIVé.
WMP11 à besoin que windows soit activé pour pouvoir l'utiliser.


D'accord.

Par contre pour la validation, je ne sais pas de quoi tu veux parler?
Je sais qu'on valide l'autenticité de windows avec Windows Genuine
Advantage afin de pouvoir télécharger les mises à jours de windows
update. Mais ce n'est pas ce que je veut contrôler. D'ailleurs,
Windows Genuine Advantage ne sert pas à autoriser l'utilisation de
windows media player 11.


C'est bien à cela que je pensais.

J'espère que le code que tu m'a donné sert bien à contrôler
l'activation de windows.


Oui. Et voici une variante sans script vbs, en utilisant wmic.
Proposée par Michel Claveau et Gilles Laurent sur le groupe scripting.

wmic path win32_windowsproductactivation get activationrequired | find
"0"
if errorlevel 1 echo "Activation Required"

(Attention aux coupures de lignes)

--
Fred
http://www.cerber mail.com/?3kA6ftaCvT (enlever l'espace)

AzertyH
Le #1269454
Ok, ça marche. Par contre je viens de tester la variante en faisant un copier
collé dans un fichier bat mais ça ne fonctionne pas. Ensuite je suis aller
faire un tour sur le net pour savoir un peut ce qu'est wmic, mais je n'y vois
que du feu!

Je vais essayer avec l'ancien script que yu m'a donner et j'espère que sa
vat marcher.

Merci beaucoup
Publicité
Poster une réponse
Anonyme