IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBScript Discussion :

[VBS] Récupérer date changement MDP compte local


Sujet :

VBScript

  1. #1
    Membre régulier
    Inscrit en
    Mars 2007
    Messages
    224
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 224
    Points : 75
    Points
    75
    Par défaut [VBS] Récupérer date changement MDP compte local
    Bonjour,

    Après quelques recherches (je débute en vbs), j'ai commencé un script qui aura pour but de récupérer la date du dernier changement de mdp des comptes dans le groupe local Admin.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    Module Module1
        Public Property WScript As Object
        Sub Main()
            Dim WScript = CreateObject("WScript.Shell")
            Dim objWMIService, strQuery, colItems, Path, strMembers, strComputerName
            Dim wshShell = CreateObject("WScript.Shell")
            strComputerName = wshShell.ExpandEnvironmentStrings("%COMPUTERNAME%")
            objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
            strQuery = "select * from Win32_GroupUser where GroupComponent = " & Chr(34) & "Win32_Group.Domain='" & strComputerName & "',Name='Administrateurs'" & Chr(34)
            colItems = objWMIService.ExecQuery(strQuery)
            strMembers = ""
            For Each Path In colItems
                Dim strMemberName, NamesArray, strDomainName, DomainNameArray, DateMDP
                NamesArray = Split(Path.PartComponent, ",")
                strMemberName = Replace(Replace(NamesArray(1), Chr(34), ""), "Name=", "")
                DomainNameArray = Split(NamesArray(0), "=")
                strDomainName = Replace(DomainNameArray(1), Chr(34), "")
                If strDomainName <> strComputerName Then
                    strMemberName = strDomainName & "\" & strMemberName
                End If
                DateMDP = strMemberName.PwdLastSet
                MsgBox(strMemberName, DateMDP)
            Next
        End Sub
     
    End Module
    Je me heurte à un problème, j'ai le message d'erreur suivant :
    Nom : Sans titre.png
Affichages : 120
Taille : 18,9 Ko

    Pouvez-vous m'aiguiller ?
    Merci d'avance.

  2. #2
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 180
    Points
    17 180
    Par défaut
    Salut

    Cela ne doit pas être du VBScript car dans se langage n'a pas de variable typé, du VBA, VB 6 et antérieur ..... ?
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  3. #3
    Membre régulier
    Inscrit en
    Mars 2007
    Messages
    224
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 224
    Points : 75
    Points
    75
    Par défaut
    Salut,

    Merci pour la réponse.

    C'est un script dont je me suis inspiré et qui fonctionne avec l'extension .vbs,(hormis la ligne en erreur).
    Encore une fois, je débute donc je fais peut-être fausse route.
    Je suis preneur de toute suggestion.

    Merci d'avance. ;-)

  4. #4
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 180
    Points
    17 180
    Par défaut
    Re

    Je ne sais pas si cela te permettra d'avancer, j'ai transformé/adapté un peu le code pour qu'il fonctionne chez moi (OS windows 10 professionnel)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     Main() ' appel de la sub
     
        Sub Main()
            Dim  WScript, wshShell
            Set WScript = CreateObject("WScript.Shell")
            Dim objWMIService, strQuery, colItems, Path, strMembers, strComputerName
            Set wshShell = CreateObject("WScript.Shell")
            strComputerName = wshShell.ExpandEnvironmentStrings("%COMPUTERNAME%")
            Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
            strQuery = "select * from Win32_GroupUser where GroupComponent = " & Chr(34) & "Win32_Group.Domain='" & strComputerName & "',Name='Administrateurs'" & Chr(34)
            Set colItems = objWMIService.ExecQuery(strQuery)
            strMembers = ""
            For Each Path In colItems
                MsgBox Path.PartComponent
                Dim strMemberName, NamesArray, strDomainName, DomainNameArray, DateMDP
                NamesArray = Split(Path.PartComponent, ",")
                strMemberName = Replace(Replace(NamesArray(1), Chr(34), ""), "Name=", "")
                DomainNameArray = Split(NamesArray(0), "=")
                strDomainName = Replace(DomainNameArray(1), Chr(34), "")
                If strDomainName <> strComputerName Then
                    strMemberName = strDomainName & "\" & strMemberName
                End If
                MsgBox strMemberName
               ' DateMDP = strMemberName.PwdLastSet
                MsgBox strMemberName, DateMDP
            Next
        End Sub
    Ligne 24 du code que je propose provoque la même erreur que toi, en effet strMemberName n'est pas un objet, donc il n'a n'y méthode ni attribut donc on ne peu pas invoqué PwdLastSet.
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  5. #5
    Membre régulier
    Inscrit en
    Mars 2007
    Messages
    224
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 224
    Points : 75
    Points
    75
    Par défaut
    Bonjour,

    Du coup, il n'y a pas de solution en VBS ?

  6. #6
    Membre régulier
    Inscrit en
    Mars 2007
    Messages
    224
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 224
    Points : 75
    Points
    75
    Par défaut
    Bonjour,

    Je me permets de relancer car je bloque toujours.

Discussions similaires

  1. Récupérer date de création d'un répertoire
    Par Kara dans le forum API, COM et SDKs
    Réponses: 6
    Dernier message: 04/05/2018, 17h14
  2. Réponses: 10
    Dernier message: 18/06/2009, 09h16
  3. Récupérer le nom du compte système local
    Par elsuket dans le forum Scripts/Batch
    Réponses: 1
    Dernier message: 14/01/2009, 20h59
  4. Réponses: 12
    Dernier message: 12/10/2005, 14h34
  5. Réponses: 11
    Dernier message: 23/07/2002, 14h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo