Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

LastLogon AD 2000

2 réponses
Avatar
BZP
Bonjour =E0 tous !

N'=E9tant pas du tout programeur, j'ai du mal a r=E9aliser une conversion.

Je souhaiterai avoir une fonction en VB (pour pouvoir l'int=E9grer dans
une macro VB Excel et/ou Access) qui prend comme parametre en entr=E9e
une chaine de caract=E8re (qui est un timestamp LastLogon d'active
directory) et qui retourne la date du jour format JJ/MM/AAAA.

J'ai trouv=E9 ce script :

' From the book "Windows XP Cookbook"
' ISBN: 0596007256

' ------ SCRIPT CONFIGURATION ------
strUserDN =3D "<UserDN>" ' e.g. cn=3Drallen,ou=3DSales,dc=3Drallencorp,dc=
=3Dcom
' ------ END CONFIGURATION ---------
set objUser =3D GetObject("LDAP://" & strUserDN)
set objLogon =3D objUser.Get("lastLogonTimestamp")
intLogonTime =3D objLogon.HighPart * (2^32) + objLogon.LowPart
intLogonTime =3D intLogonTime / (60 * 10000000)
intLogonTime =3D intLogonTime / 1440
WScript.Echo "Approx last logon timestamp: " & intLogonTime +
#1/1/1601#

Mais il se connecte =E0 Active Directory. Je souhaite pour ma part juste
faire une conversion.
J'ai essay=E9 de bidouiller mais HighPart ne fonctionne que lorsque il
y a un objet. Bref je m'arrete la j'y connais pas grand chose.

Je r=E9capitule.

MaFonction( Chaine ) -> DATE

Exemple de chaine : "12812000000000000"

PS c'est bien une CHAINE que j'ai pas pas un entier.

Merci a ceux qui comprennent mieu que moi ce bout de code :)

--
P=2EA.

2 réponses

Avatar
Gilles LAURENT [MVP]
"BZP" a écrit dans le message de
news:
| Bonjour à tous !

Bonsoir,

| Je souhaiterai avoir une fonction en VB (pour pouvoir l'intégrer dans
| une macro VB Excel et/ou Access) qui prend comme parametre en entrée
| une chaine de caractère (qui est un timestamp LastLogon d'active
| directory) et qui retourne la date du jour format JJ/MM/AAAA.
[...]

Ci-dessous une fonction VBScript permettant cette conversion.

--- Coupez ici : TimestampToDate.vbs ---
' En entrée le timestamp de type Interger8 (64bits) sous la forme
' d'une chaine de caractères et en sortie la date associée au format
' jj/mm/aaaa. La timezone n'est pas prise en compte dans cet exemple
Function TimestampToDate (strTimestamp)
TimestampToDate = FormatDateTime ( _
#1/1/1601# + CDbl (strTimestamp) / 1E7 / 86400, VBShortDate _
)
End Function

' conversion d'un timestamp (02/07/2007)
WScript.Echo TimestampToDate ("128278660578822139")
--- Coupez ici : TimestampToDate.vbs ---

--
Gilles LAURENT [MVP]
http://glsft.free.fr
Avatar
BZP
On 11 juil, 23:50, "Gilles LAURENT [MVP]" wrote:
"BZP" a écrit dans le message denews:1183974734.
| Bonjour à tous !

Bonsoir,

| Je souhaiterai avoir une fonction en VB (pour pouvoir l'intégrer dans
| une macro VB Excel et/ou Access) qui prend comme parametre en entrée
| une chaine de caractère (qui est un timestamp LastLogon d'active
| directory) et qui retourne la date du jour format JJ/MM/AAAA.
[...]

Ci-dessous une fonction VBScript permettant cette conversion.

--- Coupez ici : TimestampToDate.vbs ---
' En entrée le timestamp de type Interger8 (64bits) sous la forme
' d'une chaine de caractères et en sortie la date associée au format
' jj/mm/aaaa. La timezone n'est pas prise en compte dans cet exemple
Function TimestampToDate (strTimestamp)
TimestampToDate = FormatDateTime ( _
#1/1/1601# + CDbl (strTimestamp) / 1E7 / 86400, VBShortDate _
)
End Function

' conversion d'un timestamp (02/07/2007)
WScript.Echo TimestampToDate ("128278660578822139")
--- Coupez ici : TimestampToDate.vbs ---

--
Gilles LAURENT [MVP]http://glsft.free.fr


Maaarci beaucoup.

--
P.A.