récupérer heures et dates sur le serveur de domaine
4 réponses
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
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
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...
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...
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...
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...
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" <dilallement@wanadoo.fr> a écrit dans le message de news:
1138026932.954188.300170@g14g2000cwa.googlegroups.com...
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...
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...
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 :
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 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
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 :
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 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
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 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
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
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.