J'ai besoin de recuperer la date de derniere connexion des utilisateurs.
Lorsque j'execute mon script pour avoir le DN ça fonctionne mais lorsque je
remplace le DN par l'attribut lastlogintimestamp, j'ai une erreur qui me dit
:
Erreur d'execution Microsoft VBScript:Type incompatible.
Si quelqu'un avait une idée ?
merci
voici mon script
Set cnx = CreateObject("ADODB.Connection")
Set cmd = CreateObject("ADODB.Command")
cnx.Provider = "ADsDSOObject"
cnx.Open "Active Directory Provider"
With cmd
.ActiveConnection = cnx
.CommandText = _
"Select distinguishedName, sAMAccountname, lastLogonTimestamp"
& _
" FROM 'LDAP://OU=users,OU=truc,DC=root,DC=local'" & _
" WHERE objectCategory = 'person' AND objectClass = 'user'" & _
" ORDER BY sAMAccountname"
.Properties("Page Size") = 5000
End With
Set result = cmd.Execute
result.MoveFirst
Do While NOT result.EOF
wscript.echo result.Fields("lastLogonTimestamp")
result.MoveNext
loop
result.close
Set result = Nothing
Set cnx = Nothing
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Fred
Dans son message truc nous dit :
bonjour
J'ai besoin de recuperer la date de derniere connexion des utilisateurs. Lorsque j'execute mon script pour avoir le DN ça fonctionne mais lorsque je remplace le DN par l'attribut lastlogintimestamp, j'ai une erreur qui me dit
Erreur d'execution Microsoft VBScript:Type incompatible.
Si quelqu'un avait une idée ?
merci
voici mon script
Set cnx = CreateObject("ADODB.Connection") Set cmd = CreateObject("ADODB.Command") cnx.Provider = "ADsDSOObject" cnx.Open "Active Directory Provider"
With cmd .ActiveConnection = cnx .CommandText = _ "Select distinguishedName, sAMAccountname, lastLogonTimestamp" & _ " FROM 'LDAP://OU=users,OU=truc,DC=root,DC=local'" & _ " WHERE objectCategory = 'person' AND objectClass > 'user'" & _ " ORDER BY sAMAccountname" .Properties("Page Size") = 5000 End With
Set result = cmd.Execute result.MoveFirst
Do While NOT result.EOF wscript.echo result.Fields("lastLogonTimestamp") result.MoveNext loop
result.close Set result = Nothing Set cnx = Nothing
Bonsoir, Le problème vient du type du champ lastLogonTimestamp. http://msdn.microsoft.com/library/default.asp?url=/library/en-us/ado270/htm/mdcstdatatypeenum.asp Le type est 12, soit adVariant, non supporté par ADO.
Pourquoi n'utilises-tu pas les objets ADSI comme dans les exemples donnés ici : http://www.microsoft.com/technet/scriptcenter/scripts/ad/default.mspx La référence ici pour faire soit même les scripts http://msdn.microsoft.com/library/default.asp?url=/library/en-us/adsi/adsi/using_adsi.asp
-- Fred
Dans son message 30962BA6-50A3-4397-81C3-7D78D5F139E3@microsoft.com
truc nous dit :
bonjour
J'ai besoin de recuperer la date de derniere connexion des
utilisateurs. Lorsque j'execute mon script pour avoir le DN ça
fonctionne mais lorsque je remplace le DN par l'attribut
lastlogintimestamp, j'ai une erreur qui me dit
Erreur d'execution Microsoft VBScript:Type incompatible.
Si quelqu'un avait une idée ?
merci
voici mon script
Set cnx = CreateObject("ADODB.Connection")
Set cmd = CreateObject("ADODB.Command")
cnx.Provider = "ADsDSOObject"
cnx.Open "Active Directory Provider"
With cmd
.ActiveConnection = cnx
.CommandText = _
"Select distinguishedName, sAMAccountname,
lastLogonTimestamp" & _
" FROM 'LDAP://OU=users,OU=truc,DC=root,DC=local'" & _
" WHERE objectCategory = 'person' AND objectClass > 'user'" & _ " ORDER BY sAMAccountname"
.Properties("Page Size") = 5000
End With
Set result = cmd.Execute
result.MoveFirst
Do While NOT result.EOF
wscript.echo result.Fields("lastLogonTimestamp")
result.MoveNext
loop
result.close
Set result = Nothing
Set cnx = Nothing
Bonsoir,
Le problème vient du type du champ lastLogonTimestamp.
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/ado270/htm/mdcstdatatypeenum.asp
Le type est 12, soit adVariant, non supporté par ADO.
Pourquoi n'utilises-tu pas les objets ADSI comme dans les exemples donnés
ici :
http://www.microsoft.com/technet/scriptcenter/scripts/ad/default.mspx
La référence ici pour faire soit même les scripts
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/adsi/adsi/using_adsi.asp
J'ai besoin de recuperer la date de derniere connexion des utilisateurs. Lorsque j'execute mon script pour avoir le DN ça fonctionne mais lorsque je remplace le DN par l'attribut lastlogintimestamp, j'ai une erreur qui me dit
Erreur d'execution Microsoft VBScript:Type incompatible.
Si quelqu'un avait une idée ?
merci
voici mon script
Set cnx = CreateObject("ADODB.Connection") Set cmd = CreateObject("ADODB.Command") cnx.Provider = "ADsDSOObject" cnx.Open "Active Directory Provider"
With cmd .ActiveConnection = cnx .CommandText = _ "Select distinguishedName, sAMAccountname, lastLogonTimestamp" & _ " FROM 'LDAP://OU=users,OU=truc,DC=root,DC=local'" & _ " WHERE objectCategory = 'person' AND objectClass > 'user'" & _ " ORDER BY sAMAccountname" .Properties("Page Size") = 5000 End With
Set result = cmd.Execute result.MoveFirst
Do While NOT result.EOF wscript.echo result.Fields("lastLogonTimestamp") result.MoveNext loop
result.close Set result = Nothing Set cnx = Nothing
Bonsoir, Le problème vient du type du champ lastLogonTimestamp. http://msdn.microsoft.com/library/default.asp?url=/library/en-us/ado270/htm/mdcstdatatypeenum.asp Le type est 12, soit adVariant, non supporté par ADO.
Pourquoi n'utilises-tu pas les objets ADSI comme dans les exemples donnés ici : http://www.microsoft.com/technet/scriptcenter/scripts/ad/default.mspx La référence ici pour faire soit même les scripts http://msdn.microsoft.com/library/default.asp?url=/library/en-us/adsi/adsi/using_adsi.asp
-- Fred
Jean
D'après la documentation lastLogonTimestamp est un entier 64 bits signé non interprétable par vbscript. Les propriétés HighPart et LowPart retournent des entiers 32 bits non signés pour lastLogonTimeStamp : http://msdn.microsoft.com/library/default.asp?url=/library/en-us/adschema/adschema/s_interval.asp
Donc essayez la conversion suivante:
Do While NOT result.EOF With result.Fields("lastLogonTimestamp") wscript.echo .HighPart*(2^32)+.LowPart End With result.MoveNext loop
J'ai besoin de recuperer la date de derniere connexion des utilisateurs. Lorsque j'execute mon script pour avoir le DN ça fonctionne mais lorsque je remplace le DN par l'attribut lastlogintimestamp, j'ai une erreur qui me dit
Erreur d'execution Microsoft VBScript:Type incompatible.
Set cnx = CreateObject("ADODB.Connection") Set cmd = CreateObject("ADODB.Command") cnx.Provider = "ADsDSOObject" cnx.Open "Active Directory Provider"
With cmd .ActiveConnection = cnx .CommandText = _ "Select distinguishedName, sAMAccountname, lastLogonTimestamp" & _ " FROM 'LDAP://OU=users,OU=truc,DC=root,DC=local'" & _ " WHERE objectCategory = 'person' AND objectClass = 'user'" & _ " ORDER BY sAMAccountname" .Properties("Page Size") = 5000 End With
Set result = cmd.Execute result.MoveFirst
Do While NOT result.EOF wscript.echo result.Fields("lastLogonTimestamp") result.MoveNext loop
result.close Set result = Nothing Set cnx = Nothing
-- Jean - JMST Belgium
D'après la documentation lastLogonTimestamp est un entier 64 bits signé
non interprétable par vbscript.
Les propriétés HighPart et LowPart retournent des entiers 32 bits non
signés pour lastLogonTimeStamp :
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/adschema/adschema/s_interval.asp
Donc essayez la conversion suivante:
Do While NOT result.EOF
With result.Fields("lastLogonTimestamp")
wscript.echo .HighPart*(2^32)+.LowPart
End With
result.MoveNext
loop
J'ai besoin de recuperer la date de derniere connexion des utilisateurs.
Lorsque j'execute mon script pour avoir le DN ça fonctionne mais lorsque je
remplace le DN par l'attribut lastlogintimestamp, j'ai une erreur qui me dit
Erreur d'execution Microsoft VBScript:Type incompatible.
Set cnx = CreateObject("ADODB.Connection")
Set cmd = CreateObject("ADODB.Command")
cnx.Provider = "ADsDSOObject"
cnx.Open "Active Directory Provider"
With cmd
.ActiveConnection = cnx
.CommandText = _
"Select distinguishedName, sAMAccountname, lastLogonTimestamp"
& _
" FROM 'LDAP://OU=users,OU=truc,DC=root,DC=local'" & _
" WHERE objectCategory = 'person' AND objectClass = 'user'" & _
" ORDER BY sAMAccountname"
.Properties("Page Size") = 5000
End With
Set result = cmd.Execute
result.MoveFirst
Do While NOT result.EOF
wscript.echo result.Fields("lastLogonTimestamp")
result.MoveNext
loop
result.close
Set result = Nothing
Set cnx = Nothing
D'après la documentation lastLogonTimestamp est un entier 64 bits signé non interprétable par vbscript. Les propriétés HighPart et LowPart retournent des entiers 32 bits non signés pour lastLogonTimeStamp : http://msdn.microsoft.com/library/default.asp?url=/library/en-us/adschema/adschema/s_interval.asp
Donc essayez la conversion suivante:
Do While NOT result.EOF With result.Fields("lastLogonTimestamp") wscript.echo .HighPart*(2^32)+.LowPart End With result.MoveNext loop
J'ai besoin de recuperer la date de derniere connexion des utilisateurs. Lorsque j'execute mon script pour avoir le DN ça fonctionne mais lorsque je remplace le DN par l'attribut lastlogintimestamp, j'ai une erreur qui me dit
Erreur d'execution Microsoft VBScript:Type incompatible.
Set cnx = CreateObject("ADODB.Connection") Set cmd = CreateObject("ADODB.Command") cnx.Provider = "ADsDSOObject" cnx.Open "Active Directory Provider"
With cmd .ActiveConnection = cnx .CommandText = _ "Select distinguishedName, sAMAccountname, lastLogonTimestamp" & _ " FROM 'LDAP://OU=users,OU=truc,DC=root,DC=local'" & _ " WHERE objectCategory = 'person' AND objectClass = 'user'" & _ " ORDER BY sAMAccountname" .Properties("Page Size") = 5000 End With
Set result = cmd.Execute result.MoveFirst
Do While NOT result.EOF wscript.echo result.Fields("lastLogonTimestamp") result.MoveNext loop
result.close Set result = Nothing Set cnx = Nothing
-- Jean - JMST Belgium
Fred
Dans le message:,
D'après la documentation lastLogonTimestamp est un entier 64 bits signé non interprétable par vbscript. Les propriétés HighPart et LowPart retournent des entiers 32 bits non signés pour lastLogonTimeStamp : http://msdn.microsoft.com/library/default.asp?url=/library/en-us/adschema/adschema/s_interval.asp
Donc essayez la conversion suivante:
Do While NOT result.EOF With result.Fields("lastLogonTimestamp") wscript.echo .HighPart*(2^32)+.LowPart End With result.MoveNext loop
Bonjour, Effectivement cela fonctionne avec Fields("LastLogonTimestamp").Value.HighPart Quand j'avais testé le type, j'avais oublié le Value dont le type est bien 9 : Automation Object et non Variant.
-- Fred
Dans le message:mn.d5217d5475157266.3499@windows,
D'après la documentation lastLogonTimestamp est un entier 64 bits
signé non interprétable par vbscript.
Les propriétés HighPart et LowPart retournent des entiers 32 bits non
signés pour lastLogonTimeStamp :
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/adschema/adschema/s_interval.asp
Donc essayez la conversion suivante:
Do While NOT result.EOF
With result.Fields("lastLogonTimestamp")
wscript.echo .HighPart*(2^32)+.LowPart
End With
result.MoveNext
loop
Bonjour,
Effectivement cela fonctionne avec
Fields("LastLogonTimestamp").Value.HighPart
Quand j'avais testé le type, j'avais oublié le Value dont le type est bien 9
: Automation Object et non Variant.
D'après la documentation lastLogonTimestamp est un entier 64 bits signé non interprétable par vbscript. Les propriétés HighPart et LowPart retournent des entiers 32 bits non signés pour lastLogonTimeStamp : http://msdn.microsoft.com/library/default.asp?url=/library/en-us/adschema/adschema/s_interval.asp
Donc essayez la conversion suivante:
Do While NOT result.EOF With result.Fields("lastLogonTimestamp") wscript.echo .HighPart*(2^32)+.LowPart End With result.MoveNext loop
Bonjour, Effectivement cela fonctionne avec Fields("LastLogonTimestamp").Value.HighPart Quand j'avais testé le type, j'avais oublié le Value dont le type est bien 9 : Automation Object et non Variant.
-- Fred
Jean
Merci pour le retour. La théorie rejoint la pratique :-)
Dans le message:,
D'après la documentation lastLogonTimestamp est un entier 64 bits signé non interprétable par vbscript. Les propriétés HighPart et LowPart retournent des entiers 32 bits non signés pour lastLogonTimeStamp : http://msdn.microsoft.com/library/default.asp?url=/library/en-us/adschema/adschema/s_interval.asp
Donc essayez la conversion suivante:
Do While NOT result.EOF With result.Fields("lastLogonTimestamp") wscript.echo .HighPart*(2^32)+.LowPart End With result.MoveNext loop
Bonjour, Effectivement cela fonctionne avec Fields("LastLogonTimestamp").Value.HighPart Quand j'avais testé le type, j'avais oublié le Value dont le type est bien 9 : Automation Object et non Variant.
amicalement,
-- Jean - JMST Belgium
Merci pour le retour.
La théorie rejoint la pratique :-)
Dans le message:mn.d5217d5475157266.3499@windows,
D'après la documentation lastLogonTimestamp est un entier 64 bits
signé non interprétable par vbscript.
Les propriétés HighPart et LowPart retournent des entiers 32 bits non
signés pour lastLogonTimeStamp :
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/adschema/adschema/s_interval.asp
Donc essayez la conversion suivante:
Do While NOT result.EOF
With result.Fields("lastLogonTimestamp")
wscript.echo .HighPart*(2^32)+.LowPart
End With
result.MoveNext
loop
Bonjour,
Effectivement cela fonctionne avec
Fields("LastLogonTimestamp").Value.HighPart
Quand j'avais testé le type, j'avais oublié le Value dont le type est bien 9
: Automation Object et non Variant.
Merci pour le retour. La théorie rejoint la pratique :-)
Dans le message:,
D'après la documentation lastLogonTimestamp est un entier 64 bits signé non interprétable par vbscript. Les propriétés HighPart et LowPart retournent des entiers 32 bits non signés pour lastLogonTimeStamp : http://msdn.microsoft.com/library/default.asp?url=/library/en-us/adschema/adschema/s_interval.asp
Donc essayez la conversion suivante:
Do While NOT result.EOF With result.Fields("lastLogonTimestamp") wscript.echo .HighPart*(2^32)+.LowPart End With result.MoveNext loop
Bonjour, Effectivement cela fonctionne avec Fields("LastLogonTimestamp").Value.HighPart Quand j'avais testé le type, j'avais oublié le Value dont le type est bien 9 : Automation Object et non Variant.