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

récupérer heures et dates sur le serveur de domaine

4 réponses
Avatar
Gilles Le Bret
bonjour à tous et à toutes,

je cherche en VB à écrire une routine pour récupérer à partir d'une WS
l'heure locale et l'heure UTC du domaine sur lequel est connecté cette
workstation ?
une idée: API ou quoi d'autre ?
merci d'avance

Gilles Le Bret

4 réponses

Avatar
Drizzit
Ne sachant pas s'il existe des API pour ceci, une petite idée
tu fais un shell "net time >monfichier.txt"
Ensuite tu ouvres le fichier texte et tu récupères l'heure.
ok, c'est un peu sauvage...
Avatar
Gilles Le Bret
bonsoir et merci de ta réponse
mais ce que je veux c'est intégrer cela dans un exe qui tourne dans une
workstation laquelle demande au serveur de domaine ses heures locales et UTC
car j'ai besoin de vérifier le fuseau horaire du serveur.

Gilles Lebret

"Drizzit" a écrit dans le message de news:

Ne sachant pas s'il existe des API pour ceci, une petite idée
tu fais un shell "net time >monfichier.txt"
Ensuite tu ouvres le fichier texte et tu récupères l'heure.
ok, c'est un peu sauvage...
Avatar
Drizzit
J'ai cherché, j'ai trouvé....sur les news....
J'ai suprimé les choses inutiles....
Si toute fois tu veux le vrai sur voici le lien :

http://groups.google.fr/group/microsoft.public.vb.winapi/browse_frm/thread/ 310e2930bace3c2b/a5b7736169d8727b?lnk=st&q=get+time+domain+server+vb&rn um=6&hl=fr#a5b7736169d8727b

--------------------------

Option Explicit

Private Type TOD
elasped As Long
mSecs As Long
hours As Long
mins As Long
secs As Long
hunds As Long
timezone As Long
tinterval As Long
day As Long
mnth As Long
year As Long
weekday As Long
End Type


Private Type SYSTEMTIME
wYear As Integer
wMonth As Integer
wDayOfWeek As Integer
wDay As Integer
wHour As Integer
wMinute As Integer
wSecond As Integer
wMilliseconds As Integer
End Type

Private Type TIME_Geo3_INFORMATION
Bias As Long
StandardName(32) As Integer
StandardDate As SYSTEMTIME
StandardBias As Long
DaylightName(32) As Integer
DaylightDate As SYSTEMTIME
DaylightBias As Long
End Type

Private Declare Function GetTimeZoneInformation Lib "kernel32"
(lpTimeZoneInformation As TIME_Geo3_INFORMATION) As Long
Private Declare Function NetRemoteTOD Lib "netapi32.dll" (ByVal
sServer$, sBuf As Long) As Long
Public Declare Sub lmemcpy Lib "STKIT432.DLL" (strDest As Any, ByVal
strSrc As Any, ByVal lBytes As Long)

Public Function GetTimeFromServer(ByVal vstrNomServeur As String) As
Date

Dim typTOD As TOD
Dim lngRetourApi As Long
Dim strDateHeure As String
Dim lngAdresse As Long
Dim datDateServeur As Date

' Date par défaut
GetTimeFromServer = CDate("01/01/1990")

' Conversion en Unicode du nom du serveur
On Error Resume Next

lngRetourApi = NetRemoteTOD(StrConv(vstrNomServeur, vbUnicode),
lngAdresse)
If Err Then
MsgBox Error$, vbExclamation, "Ca merde ..."
Exit Function
End If

If lngRetourApi = 0 Then
lmemcpy typTOD, lngAdresse, Len(typTOD)
strDateHeure = typTOD.mnth & "/" & typTOD.day & "/" & typTOD.year &
" " & typTOD.hours & ":" & typTOD.mins & ":" & typTOD.secs

If IsDate(strDateHeure) Then
datDateServeur = CDate(strDateHeure)

Dim tz As TIME_Geo3_INFORMATION
Const TIME_Geo3_ID_DAYLIGHT = 2

If GetTimeZoneInformation(tz) = TIME_Geo3_ID_DAYLIGHT Then
tz.Bias = tz.Bias - 60
datDateServeur = datDateServeur - TimeSerial(0, tz.Bias, 0)
GetTimeFromServer = datDateServeur
End If
End If

End Function
Avatar
Gilles Le Bret
Drizzit merci

je viens de faire un test rapide, cela à l'air de marcher.
pourtant j'avais cherché sur le net , mais pas avec les bons mots clefs.

Gilles Le Bret