Page 1 sur 1
[R] Trouver la position d'un Volume HDD.
Posté : dim. 30 mai 2010 22:41
par camil
Bonjour,
Je voulais savoir comment savoir la position d'un volume disque dur.
Qui va me servir pour la resto image.
Je sais trouver le Label et la lettre du volume mais pas sa position.(1.1 ou 1.2 ou 2.1,etc)
Merci d'avance pour l'aide.
Re: [..] Trouver la position d'un Volume HDD.
Posté : dim. 30 mai 2010 23:31
par Tlem
Re: [..] Trouver la position d'un Volume HDD.
Posté : lun. 31 mai 2010 19:45
par camil
Bonjour
Je vais regarder, je voulais juste afficher les HDD avec leur position et taille (sans les patitions).
Merci.
Re: [..] Trouver la position d'un Volume HDD.
Posté : lun. 31 mai 2010 22:41
par Tlem
camil a écrit :je voulais juste afficher les HDD avec leur position et taille (sans les patitions).
Heuuu, ce n'est pas ce que vous demandez dans votre premier message ...
camil a écrit :Je voulais savoir comment savoir la position d'un volume disque dur.
.
.
Je sais trouver le Label et la lettre du volume mais pas sa position.(1.1 ou 1.2 ou 2.1,etc)
Re: [..] Trouver la position d'un Volume HDD.
Posté : mar. 01 juin 2010 09:03
par camil
Bonjour,
Le but de ce script, c'est de pourvoir poser la question a l'utilisateur pour qu'il choisisse le bon disque de destination et que la variable de destination soit sur la ligne de commande ghost (dst:1 ou dst:2...).
Et faire une condition pour qu'il n'affiche le choix du disque source en vérifiant son label.
Il doit afficher les Disques portant un label inconnue avec sa position (1 ou 2 ou 3) et le disque de label source
ne doit pas s'afficher pour pas le choisir.
Vu qu'il y aura un disque dur USB de label "source" + le disque client destination de label x.
x:\ghost32\ghost32.exe -clone,mode=load,src=" & $image & ",dst=2 -sure
et donc DST=2 le mettre dans une variable.
Merci les liens...
Re: [..] Trouver la position d'un Volume HDD.
Posté : mar. 01 juin 2010 10:07
par Tlem
camil a écrit :Le but de ce script, ...
Vous avez tous les éléments.
Vous allez donc y arriver prochainement.

Re: [..] Trouver la position d'un Volume HDD.
Posté : mar. 01 juin 2010 21:45
par camil
Bonjour,
J'ai trouvé ce script.
► Afficher le texte
Code : Tout sélectionner
#include <Array.au3>
$arrResults=_GetLogicalDriveToPartition()
_ArrayDisplay($arrResults)
Func _GetLogicalDriveToPartition()
$objWMIService = ObjGet("winmgmts:{impersonationLevel=Impersonate}!\\.\root\cimv2")
If Not IsObj($objWMIService) Then Return -1 ;Failed to Connect to WMI on Local Machine
Local $arr[1][3]
$colDevice = $objWMIService.ExecQuery("SELECT * from Win32_LogicalDiskToPartition")
For $objItem in $colDevice
ReDim $arr[UBound($arr)+1][3]
$arr[UBound($arr)-1][0]=StringTrimLeft($objItem.Antecedent,StringInStr($objItem.Antecedent,"=",0,-1))
$arr[UBound($arr)-1][1]=StringTrimLeft($objItem.Dependent,StringInstr($objItem.Dependent,"=",0,-1))
;$arr[UBound($arr)-1][2]=StringTrimLeft($objItem.Dependent,StringInstr($objItem.Dependent,"=",0,-1))
Next
$colDevice=1
$objWMIService=0
$arr[0][0]="-Disk- , -Partition- "
$arr[0][1]="Drive Letter"
$arr[0][2]="Drive Label"
Return $arr
EndFunc
Mais je n'arrive pas a mettre le label (nom du disk).
Merci pour ton aide.
Re: [..] Trouver la position d'un Volume HDD.
Posté : mar. 01 juin 2010 22:11
par sylvanie
bonsoir
complètez la boucle de rrecherche comme ceci :
► Afficher le texte
Code : Tout sélectionner
For $objItem in $colDevice
ReDim $arr[UBound($arr)+1][3]
$arr[UBound($arr)-1][0]=StringTrimLeft($objItem.Antecedent,StringInStr($objItem.Antecedent,"=",0,-1))
$arr[UBound($arr)-1][1]=StringTrimLeft($objItem.Dependent,StringInstr($objItem.Dependent,"=",0,-1))
$letter = _StringBetween($arr[UBound($arr)-1][1],chr(34),chr(34),1)
$letter=$letter[0]
$arr[UBound($arr)-1][2]=DriveGetLabel($letter)
Next
Re: [..] Trouver la position d'un Volume HDD.
Posté : mer. 02 juin 2010 08:48
par camil
Bonjour,
Sa genere une erreur.
► Afficher le texte
#include <Array.au3>
$arrResults=_GetLogicalDriveToPartition()
_ArrayDisplay($arrResults)
Func _GetLogicalDriveToPartition()
$objWMIService = ObjGet("winmgmts:{impersonationLevel=Impersonate}!\\.\root\cimv2")
If Not IsObj($objWMIService) Then Return -1 ;Failed to Connect to WMI on Local Machine
Local $arr[1][3]
$colDevice = $objWMIService.ExecQuery("SELECT * from Win32_LogicalDiskToPartition")
For $objItem in $colDevice
ReDim $arr[UBound($arr)+1][3]
$arr[UBound($arr)-1][0]=StringTrimLeft($objItem.Antecedent,StringInStr($objItem.Antecedent,"=",0,-1))
$arr[UBound($arr)-1][1]=StringTrimLeft($objItem.Dependent,StringInstr($objItem.Dependent,"=",0,-1))
$arr[UBound($arr)-1][2]=StringTrimLeft($objItem.Dependent,StringInstr($objItem.Dependent,"=",0,-1))
$letter = _StringBetween($arr[UBound($arr)-1][1],chr(34),chr(34),1)
$letter=$letter[0]
$arr[UBound($arr)-1][2]=DriveGetLabel($letter)
Next
$colDevice=1
$objWMIService=0
$arr[0][0]="-Disk- , -Partition- "
$arr[0][1]="Drive Letter"
$arr[0][2]="Drive Label"
Return $arr
EndFunc
(22) : ==> Unknown function name.:
$letter = _StringBetween($arr[UBound($arr)-1][1],chr(34),chr(34),1)
$letter = ^ ERROR
Merci pour l'aide.
Re: [..] Trouver la position d'un Volume HDD.
Posté : mer. 02 juin 2010 09:18
par Yogui
il vous manque l'appel de l'include :String.au3
Re: [..] Trouver la position d'un Volume HDD.
Posté : mer. 02 juin 2010 20:12
par camil
Merci, sa marche.