[R] WMi $colItems.Count error

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Laddy
Niveau 7
Niveau 7
Messages : 321
Enregistré le : mer. 03 sept. 2008 07:34
Status : Hors ligne

[R] WMi $colItems.Count error

#1

Message par Laddy »

Bonjour à tous
j'essaie de réaliser mon premier script autoit en utilisant le wmi.

J'essaie de lister les 5 derniers points de restaurations système. Je pense m'en être sorti dans la traduction VBS -> Autoit et malheureusement je me heurte à un soucis sur la ligne 22.

Pourriez vous m'aider à corriger ce problème ??
Merci
Laddy

Code : Tout sélectionner

If $colItems.Count = 0 Then
 
Le script me renvoie cette erreur que je ne comprend pas.

Image

Code : Tout sélectionner

$dtmConvertedDate = ObjCreate("WbemScripting.SWbemDateTime")
$objWMI = ObjGet("winmgmts:\\localhost\root\default")
$colItems = $objWMI.ExecQuery("SELECT * FROM SystemRestore", "WQL", 0x10 + 0x20)
$wbemFlagReturnImmediately = 0x10
$wbemFlagForwardOnly = 0x20
$i = 0
If $colItems.Count = 0 Then
    MsgBox(0, "Aucun Point", "No restore point in system.")
Else
    $i = $colItems.Count
    ;For Each $objItem In $colItems
    If IsObj($colItems) Then
        For $objItem In $colItems
            If $i < 6 Then
                $dtmConvertedDate.Value = $objItem.CreationTime
                $dtmCreationTime = $dtmConvertedDate.GetVarDate
                MsgBox(0, "RP", "[" & $dtmCreationTime & "]" & $objItem.Description)
            EndIf
            $i = $i - 1
        Next
    EndIf
EndIf


Func WMIDateStringToDate($dtmDate)
    Return (StringMid($dtmDate, 5, 2) & "/" & _
            StringMid($dtmDate, 7, 2) & "/" & StringLeft($dtmDate, 4) _
             & " " & StringMid($dtmDate, 9, 2) & ":" & StringMid($dtmDate, 11, 2) & ":" & StringMid($dtmDate, 13, 2))
EndFunc   ;==>WMIDateStringToDate
Exit
 
Modifié en dernier par Laddy le ven. 29 oct. 2010 17:11, modifié 3 fois.
Avatar du membre
Jerome
Niveau 9
Niveau 9
Messages : 661
Enregistré le : mar. 07 avr. 2009 08:35
Localisation : Picardie
Status : Hors ligne

Re: [..]WMi $colItems.Count error

#2

Message par Jerome »

Coucou,


A ce lien, vous pouvez voir les commandes que l'on peut exécuter avec l'objet $colItems.


Pour les compter, je referai une autre commande SQL ou autre chose, mais la commande .count ne peut pas s'appliquer ici pour moi.
Après je me trompe peut-être.

Code : Tout sélectionner

$objWMI = ObjGet("winmgmts:\\localhost\root\default")
$colItems = $objWMI.ExecQuery("SELECT * FROM SystemRestore", "WQL", 0x10 + 0x20)


For $objItem In $colItems
    ConsoleWrite($objItem.Description & @CRLF)
  ConsoleWrite($objItem.RestorePointType& @CRLF)
  ConsoleWrite($objItem.EventType& @CRLF)
  ConsoleWrite($objItem.SequenceNumber& @CRLF)
  ConsoleWrite($objItem.CreationTime& @CRLF)
Next



Jérôme
Laddy
Niveau 7
Niveau 7
Messages : 321
Enregistré le : mer. 03 sept. 2008 07:34
Status : Hors ligne

Re: [..]WMi $colItems.Count error

#3

Message par Laddy »

Bonjour Jérome
étrange car elle fonctionne bien en VBS...
Elle me permet d être prévenu si la restauration systeme est désactivé par exemple
Et j'ai vu count être utilisé dans d'autres scripts autre que System Restore.
Laddy
Niveau 7
Niveau 7
Messages : 321
Enregistré le : mer. 03 sept. 2008 07:34
Status : Hors ligne

Re: [..]WMi $colItems.Count error

#4

Message par Laddy »

J'ai résolu mon problème
j'ai retiré ceci "WQL", 0x10 + 0x20 de $colItems, et ça fonctionne.
Avatar du membre
Jerome
Niveau 9
Niveau 9
Messages : 661
Enregistré le : mar. 07 avr. 2009 08:35
Localisation : Picardie
Status : Hors ligne

Re: [..]WMi $colItems.Count error

#5

Message par Jerome »

http://www.autoitscript.com/forum/index ... pic=121528 :roll:

Merci de ne pas oublier la balise [R] dans le titre de votre premier message si votre sujet est résolu.
Répondre