OVH Cloud OVH Cloud

[Extraire avec un script Visual Basic le contenu d'agenda sur Exchange]

2 réponses
Avatar
theolude
Bonjour,

J'essaye de récupérer avec un script Visual Basic (vbs) le contenu des agendas Outlook stockés sur Exchange des responsables de service et de la direction. Je ne veux pas tout récupérer mais simplement les éléments tagués dans certaines catégories définies à l'avance ("absence", "congés" et "déplacements", qui seront crées et homogénéisées sur les postes clients Outlook).

L'idée étant ensuite de créer un fichier texte avec ces éléments et leurs informations associées pour l'envoyer en FTP (en interne sur le LAN) sur un serveur Linux qui héberge un Intranet. Ces informations seront intégrées et affichées à l'ensemble de la société sous une forme plus conviviale et pratique...

Je ne suis pas très à l'aise en scripting Windows, encore moins quand il s'agit de s'adresser à des outils intégrés du type Exchange. J'ai regardé du côté des OCX, mais ça m'a parut barbare... pour moi :)
J'ai vu aussi ça (http://www.generation-nt.com/reponses/exchange-2003-creer-une-adresse-par-script-entraide-390244.html) en essayant de m'en inspirer, sans résultats...

Merci de vos avis, conseils, ressources, etc.
Théolude

NB: Ce script sera lancé en tâche programmée sur le serveur Exchange.

2 réponses

Avatar
Christophe Mathon
Bonjour Théolude,

Tu peut te baser sur le script suivant (necessite OWA):

<><><><><><><><><><><><><><><><><><>
<><><><><><><><><><><><><><><><><><>
dim strExchangeURL
dim strApptStartDate
dim strUser
dim strPassword
strUser = "Administrator"
strPassword = "test"
strExchangeURL = "http://danbagley2/exchange/Administrator/Calendar/"
strApptStartDate = "2004-04-09T15:00:00Z"
Dim sRet

strQuery = "<?xml version='1.0'?>" & _
"<g:searchrequest xmlns:g='DAV:' >" & _
"<g:sql>SELECT " & vbCrLf & _
"""urn:schemas:calendar:alldayevent"", " & vbCrLf & _
"""urn:schemas:calendar:duration"", " & vbCrLf & _
"""urn:schemas:calendar:dtstart"", " & vbCrLf & _
"""urn:schemas:calendar:dtend"", " & vbCrLf & _
"""urn:schemas:httpmail:displayto"", " & vbCrLf & _
"""urn:schemas:httpmail:displaycc"", " & vbCrLf & _
"""urn:schemas:httpmail:textdescription"", " & vbCrLf & _
"""urn:schemas:calendar:location"", " & vbCrLf & _
"""urn:schemas:httpmail:subject"" " & vbCrLf & _
"FROM SCOPE('SHALLOW TRAVERSAL OF """ & strExchangeURL & """') " & vbCrLf &
_
"WHERE (""urn:schemas:calendar:dtstart"" >= CAST(""" & strApptStartDate &
"""
as 'dateTime')) "
& vbCrLf & _
"</g:sql>" & vbCrLf & _
"</g:searchrequest>" & vbCrLf


Wscript.Echo "about to call ServerDav"
sRet = DoServerDavRequest("SEARCH", strQuery, strExchangeURL, strUser,
strPassword)
Wscript.Echo sRet


Function DoServerDavRequest(sType, sQuery, sHREF, sUserName, sPassword)
' Create the SQL query textnode and append it to document.
Set docRequest = Createobject("MSXML2.DomDocument")
Set xndQuery = docRequest.createTextNode(strQuery)

' Create the XMLHTTP object.

Set davRequest = CreateObject("MSXML2.SERVERXMLHTTP")
davRequest.open sType, sHREF, False, "Administrator", "test"

davRequest.setRequestHeader "Content-Type", "text/xml"
davRequest.setRequestHeader "Translate", "f"

' Send the SEARCH request.
if sQuery = "" then
davRequest.send
else
davRequest.send (sQuery)
end if
DoServerDavRequest = davRequest.responsetext
End Function
<><><><><><><><><><><><><><><><><><>
<><><><><><><><><><><><><><><><><><>


--
Regards
Christophe Mathon
while(!(succeed=try()));

"theolude" wrote in message
news:
Bonjour,

J'essaye de récupérer avec un script Visual Basic (vbs) le contenu
des agendas Outlook stockés sur Exchange des responsables de service
et de la direction. Je ne veux pas tout récupérer mais simplement les
éléments tagués dans certaines catégories définies à l'avance
("absence", "congés" et "déplacements", qui seront crées et
homogénéisées sur les postes clients Outlook).

L'idée étant ensuite de créer un fichier texte avec ces éléments et
leurs informations associées pour l'envoyer en FTP (en interne sur le
LAN) sur un serveur Linux qui héberge un Intranet. Ces informations
seront intégrées et affichées à l'ensemble de la société sous une
forme plus conviviale et pratique...

Je ne suis pas très à l'aise en scripting Windows, encore moins quand
il s'agit de s'adresser à des outils intégrés du type Exchange. J'ai
regardé du côté des OCX, mais ça m'a parut barbare... pour moi :)
J'ai vu aussi ça
(http://www.generation-nt.com/reponses/exchange-2003-creer-une-adresse-par-script-entraide-390244.html)
en essayant de m'en inspirer, sans résultats...

Merci de vos avis, conseils, ressources, etc.
Théolude

NB: Ce script sera lancé en tâche programmée sur le serveur Exchange.


Avatar
Stephen ROUX
Quelle version d'Exchange ? car ce qui fonctionne avec 2003 ne fonctionne
pas avec 2007

"theolude" a écrit dans le message de
news:
Bonjour,

J'essaye de récupérer avec un script Visual Basic (vbs) le contenu
des agendas Outlook stockés sur Exchange des responsables de service
et de la direction. Je ne veux pas tout récupérer mais simplement les
éléments tagués dans certaines catégories définies à l'avance
("absence", "congés" et "déplacements", qui seront crées et
homogénéisées sur les postes clients Outlook).

L'idée étant ensuite de créer un fichier texte avec ces éléments et
leurs informations associées pour l'envoyer en FTP (en interne sur le
LAN) sur un serveur Linux qui héberge un Intranet. Ces informations
seront intégrées et affichées à l'ensemble de la société sous une
forme plus conviviale et pratique...

Je ne suis pas très à l'aise en scripting Windows, encore moins quand
il s'agit de s'adresser à des outils intégrés du type Exchange. J'ai
regardé du côté des OCX, mais ça m'a parut barbare... pour moi :)
J'ai vu aussi ça
(http://www.generation-nt.com/reponses/exchange-2003-creer-une-adresse-par-script-entraide-390244.html)
en essayant de m'en inspirer, sans résultats...

Merci de vos avis, conseils, ressources, etc.
Théolude

NB: Ce script sera lancé en tâche programmée sur le serveur Exchange.