locked
Query WMI password Bios RRS feed

  • Question

  • Bonjour,

    Je souhaite savoir s'il est possible de faire une Query WMI qui check si mon password bio correspond à un password que je lui indique  sur des machines HP ?

    Merci

    mercredi 29 août 2012 07:35

Toutes les réponses

  • Via le WMI classique ce n'est pas possible en tout cas

    référence: http://msdn.microsoft.com/en-us/library/aa394077(v=VS.85).aspx

    Bonne journée,

    valentin


    mercredi 29 août 2012 08:56
  • Bonjour,

    via WMI je n'ai jamais creusé mais via un outil HP, c'est possible.

    Il te faut télécharger l'outil SSM et utiliser ensuite l'outil BiosConfigUtility.exe

    Exemple de commande :

    BiosConfigUtility.EXE /getConfig:Parametres_Bios.txt /cspwd:BIOS_password

    A bientôt

    mercredi 29 août 2012 09:13
  • Oui je connais le SSM mais on ne peux pas faire un check du mot de passe.

    Juste faire la config ou changer le MDP

    Je peux contourné en faisant un script qui vérifie le code Erreur si je change le MDP et qu'il corresponds pas mais si ya moyen pasrune requeten en utilisant les classe root\HP\InstrumentedBIOS se serais mieu


    • Modifié yassinb mercredi 29 août 2012 09:29
    mercredi 29 août 2012 09:29
  • Bonjour,

    après quelques recherches, il semble que cela soit possible via la classe HP_BiosPassword.

    Voici un bout de code récupéré sur le net :

    Function isPWDSet() { <#	Purpose:    Password Handling		#>  	# Let's check and see if password is set on system# 	message "Checking if the Bios Password is set on this machine" 	$Pwd = Get-WmiObject -Namespace "root\HP\InstrumentedBIOS" -Class HP_BIOSPassword | Where {$_.Name -eq "Setup Password"} 	#$pwd = gwmi -Namespace root\hp\instrumentedBios -Class HP_BIOSPassword | Where-Object {$_.name -eq "Setup Password"} 	$strPwd = "" 	$PwdSet = $Pwd.IsSet 	$PwdSetFrom = 0 			# default is F10 	$PwdSetFrom = $Pwd.PwdSetFrom  	# 0=F10 - > Password is set from keyboard, so pwdtype= kbd;  									# 1=OS - > Password is set from OS/Script, so  pwdtype=unicode  	$SupportsUnicodePwd = $false  	# default is does not support unicode 	$arrPwdEncoding = $Pwd.SupportedEncoding 	foreach ($enc in $arrPwdEncoding) { 		if ($enc.Trim().Length -gt 0) { 			if ($enc.Trim() -eq "utf-16") { 				$SupportsUnicodePwd = $true 			}		 		} 	} 	 		if ($SupportsUnicodePwd -eq $true)  		{ 			if ($PwdSet -gt 0 -and $PwdSetFrom -eq 0)  			{ 				$PwdType = "kbd" 			}else 			{ 				$PwdType = "unicode" 			} 		} else  		{ 		$PwdType = "kbd" 		} 	 	message "Password is set and password format is " + $PwdType 

    Source : https://code.google.com/p/hp-cmi-bios-setting-profile-builder/issues/attachmentText?id=9&aid=90000000&name=HP_SettingsAll.ps1&token=F8UJcGm22Q0rzOWpH7aOJtJXqp4%3A1344635324258

    Selon la doc HP, c'est en tout cas possible de récupérer cette info via la classe HP_BIOSPassword


    Freddy ELMALEH aka "bigstyle" -- Consultant Freelance pour Active IT (www.active-it.fr) -- MVP Windows Server - Directory Services


    mercredi 29 août 2012 09:44
  • Autant pour moi pas fait attention au tool hp, avez vous essayé avec cette query:

    strQuery = "select * from HP_BIOSPassword"

    Normalement vous pouvez je penses le récupérer mais la doc hp est vraiment pas terrible....

    Bon courage,

    valentin



    mercredi 29 août 2012 09:45
  • Je sais pas si vous avez bien compris ma demande

    je réexplique au cas ou,

    je fais une task sequence de mise a jour bios et je veux faire un check si le password corresponds à celui que je souhaite il execute sinon il fait rien

    mercredi 29 août 2012 09:50
  • J'ai deja vu le hpbiospassword les classe mais je vois pas trop laquel peux faire un check password
    mercredi 29 août 2012 09:51
  • Je pense que tu n'auras pas d'autre choix que d'interpréter le code erreur retourné lors de la tentative d'utilisation du mot de passe.

    Pour les futures versions, je te conseille de "flagger" ton mot de passe; c'est à dire qu'au moment où tu définiras celui-ci, tu ajouteras une clé de registre (par exemple) te permettant d'identifier la version du mot de passe que tu as défini à ce moment là.

    Tu pourras ainsi plus facilement identifier l'état du mot de passe sur les postes.


    Freddy ELMALEH aka "bigstyle" -- Consultant Freelance pour Active IT (www.active-it.fr) -- MVP Windows Server - Directory Services

    mercredi 29 août 2012 09:59
  • Je pense aussi mais bon je cherche encore un peu
    mercredi 29 août 2012 10:09
  • Ok, n'hésite pas à nous tenir informé s'il te plait :)

    Freddy ELMALEH aka "bigstyle" -- Consultant Freelance pour Active IT (www.active-it.fr) -- MVP Windows Server - Directory Services

    mercredi 29 août 2012 10:50
  • Bon je trouve pas, visiblement pas possible à faire.

    J'ai faire un script mais comment faire lire le code erreurdans la task sequence ?

    mercredi 29 août 2012 11:29
  • alors personne ?
    mercredi 29 août 2012 15:01
  • Je n'ai pas de réponse à vous fournir pour le moment il faudrait que je fasse un test avant de vous répondre.

    Je ne suis jamais tombé dans un cas comme le votre à voir si vous pouvez pas justement jouer avec l'echec d'une tache dans le task sequence.

    Je ne sais pas si le fait de récupérer un message d'erreur met la tache en echec ou pas mais je pense que la récupération du code directement dans le task séquence me semble difficile.

    Si personne ne vous répond d'ici j'essayerai de faire un essai cette semaine, il faut que je me remette dedans ^^

    Bonne soirée,

    Valentin


    www.groupeafg.com viadeo

    mercredi 29 août 2012 19:53
  • Salut,

    Toujours pas de reponse ?

    lundi 3 septembre 2012 08:16