Question
Créer un rendez vous Outlook
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 68
il y a 16 ans 2 mois #5878
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:Créer un rendez vous Outlook
Salut,
as-tu trouvé une solution ?
as-tu trouvé une solution ?
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- TimCruz
- Auteur du sujet
- Hors Ligne
- Membre junior
-
Réduire
Plus d'informations
- Messages : 25
- Remerciements reçus 0
il y a 16 ans 2 mois #5879
par TimCruz
\\"Il n\'y a pas de problème, il n\'y a que des solutions\\"
Réponse de TimCruz sur le sujet Re:Créer un rendez vous Outlook
Bonjour,
Désolé de ne pas avoir apporté de retour jusque là mais la neige m'a empêché d'aller au boulot et donc m'a mis plutôt en retard.
Je pense être en bonne voie de solution mais en utilisant les Exchange Web Services et en codant en C#.
Dans la mesure ou je m'écarte de PS, désirez vous malgré tout mes script au terme de mon travail?
Désolé de ne pas avoir apporté de retour jusque là mais la neige m'a empêché d'aller au boulot et donc m'a mis plutôt en retard.
Je pense être en bonne voie de solution mais en utilisant les Exchange Web Services et en codant en C#.
Dans la mesure ou je m'écarte de PS, désirez vous malgré tout mes script au terme de mon travail?
\\"Il n\'y a pas de problème, il n\'y a que des solutions\\"
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 68
il y a 16 ans 2 mois #5880
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:Créer un rendez vous Outlook
TimCruz écrit:

TimCruz écrit:
Si c'est une opération récurrente cela peut valoir le coup, en dehors du coût
TimCruz écrit:
Il n'y a pas de malDésolé de ne pas avoir apporté de retour
TimCruz écrit:
PS v2 sais gérer les web services, mais de coupler le C# ou des API Win32, facilite certaines opérations là où PowerShell est démuni. Une fois ton code C# validé, tu peux peut être l'intégrer dans un cmdlet.Dans la mesure ou je m'écarte de PS,
Si c'est une opération récurrente cela peut valoir le coup, en dehors du coût
TimCruz écrit:
Oui je veux bien par curiosité, et puis cela servira à d'autres.désirez vous malgré tout mes script au terme de mon travail?
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- TimCruz
- Auteur du sujet
- Hors Ligne
- Membre junior
-
Réduire
Plus d'informations
- Messages : 25
- Remerciements reçus 0
il y a 16 ans 1 mois #6027
par TimCruz
\\"Il n\'y a pas de problème, il n\'y a que des solutions\\"
Réponse de TimCruz sur le sujet Re:Créer un rendez vous Outlook
Je reviens à la charge avec ce problème. Je tente de comprendre et manipuler les éléments Exchange grace aux web services (EWS). J'en suis revenu au powershell dans la mesure ou mes capacités de dev' sont actuellement plutôt pauvres ; je me sers du PS pour me faire la main dans un premiers temps, je passerai plus tard au c#. Je tente de consulter pour une BAL le calendrier ou les mail.
Voici mon script actuel :
[code:1]
$uri = \"https://MONSERVEUREXCHANGE/EWS/Exchange.asmx\"
$exchangeservicebinding = new-webserviceproxy -NameSpace \"EWS\" -URI $uri -UseDefaultCredential
$exchangeservicebinding.RequestServerVersionValue = new-object EWS.RequestServerVersion
$exchangeservicebinding.RequestServerVersionValue.Version = [EWS.ExchangeVersionType]::Exchange2007
$exchangeservicebinding.Url = $uri
## Détermination du Parent Folder ID
[EWS.DistinguishedFolderIdType]$parentfolderid = new-object EWS.DistinguishedFolderIdType
$parentfolderid.Id = [EWS.DistinguishedFolderIdNameType]::inbox #Pour la recup des mails
#$parentfolderid.Id = [EWS.DistinguishedFolderIdNameType]::Calendar #Pour la recup des rendez vous
[EWS.BaseFolderIdType[]]$parentfolderids = $parentfolderid
## Détermination du ItemShape et de ses propriétés
[EWS.ItemResponseShapeType]$itemshape = new-object EWS.ItemResponseShapeType
$itemshape.BaseShape = [EWS.DefaultShapeNamesType]::AllProperties
## Création du FindItemType object selon le Parent Folder Ids et du ItemShape
[EWS.FindItemType]$finditemtype = new-object EWS.FindItemType
$finditemtype.ParentFolderIds = $parentfolderids
$finditemtype.ItemShape = $itemshape
## Interrogation des EWS
[EWS.FindItemResponseType]$finditemresponses = $exchangeservicebinding.FindItem($finditemtype)
## Récupération des éléments renvoyé par EWS dans une boucle
[EWS.MessageType]$messagetype #Pour la récup des mails
$compteur=0
#[EWS.CalendarItemType]$messagetype #Pour la récup des rendez vous
foreach($messagetype in $finditemresponses.ResponseMessages.Items[0].RootFolder.Item.Items)
{
$1=$messagetype.From.Item.Name
$2=$messagetype.Subject
$3=$messagetype.DateTimeReceived.Date
$4=\"=======================================================\"
$compteur++
Write-Host \"Message de: \" $messagetype.From.Item.Name
Write-Host \"Sujet: \" $messagetype.Subject
Write-Host \"Recu le: \" $messagetype.DateTimeReceived.Date
Write-Host \"=======================================================\"
Write-Host
$texte = \"Message de : $1
Sujet : $2
Recu le : $3
$4
\" | Out-File -append -noclobber c:\rdv.txt
}
#\"
#Il y $compteur rendez-vous\" | Out-File -Append -NoClobber c:\rdv.txt #Pour les rendez vous
\"
Il y $compteur mail\" | Out-File -Append -NoClobber c:\rdv.txt
[/code:1]
La consultation de mon calendrier ou de ma inbox est OK. MAIS (oui encore un mais) je ne parviens pas à consulter les dossiers fils de ma inbox.
Et je voudrais réussir également à consulter les éléments d'une autre BAL que la mienne (sinon ca me sert à rien). Je n'y parvients pas. J'ai tenté de travailler avec -Credential dans cette ligne [code:1]$exchangeservicebinding = new-webserviceproxy -NameSpace \"EWS\" -URI $uri -UseDefaultCredential
[/code:1] mais sans résultats...
Pourriez vous m'aider s'il vous plait.<br><br>Message édité par: TimCruz, à: 26/01/10 12:10
Voici mon script actuel :
[code:1]
$uri = \"https://MONSERVEUREXCHANGE/EWS/Exchange.asmx\"
$exchangeservicebinding = new-webserviceproxy -NameSpace \"EWS\" -URI $uri -UseDefaultCredential
$exchangeservicebinding.RequestServerVersionValue = new-object EWS.RequestServerVersion
$exchangeservicebinding.RequestServerVersionValue.Version = [EWS.ExchangeVersionType]::Exchange2007
$exchangeservicebinding.Url = $uri
## Détermination du Parent Folder ID
[EWS.DistinguishedFolderIdType]$parentfolderid = new-object EWS.DistinguishedFolderIdType
$parentfolderid.Id = [EWS.DistinguishedFolderIdNameType]::inbox #Pour la recup des mails
#$parentfolderid.Id = [EWS.DistinguishedFolderIdNameType]::Calendar #Pour la recup des rendez vous
[EWS.BaseFolderIdType[]]$parentfolderids = $parentfolderid
## Détermination du ItemShape et de ses propriétés
[EWS.ItemResponseShapeType]$itemshape = new-object EWS.ItemResponseShapeType
$itemshape.BaseShape = [EWS.DefaultShapeNamesType]::AllProperties
## Création du FindItemType object selon le Parent Folder Ids et du ItemShape
[EWS.FindItemType]$finditemtype = new-object EWS.FindItemType
$finditemtype.ParentFolderIds = $parentfolderids
$finditemtype.ItemShape = $itemshape
## Interrogation des EWS
[EWS.FindItemResponseType]$finditemresponses = $exchangeservicebinding.FindItem($finditemtype)
## Récupération des éléments renvoyé par EWS dans une boucle
[EWS.MessageType]$messagetype #Pour la récup des mails
$compteur=0
#[EWS.CalendarItemType]$messagetype #Pour la récup des rendez vous
foreach($messagetype in $finditemresponses.ResponseMessages.Items[0].RootFolder.Item.Items)
{
$1=$messagetype.From.Item.Name
$2=$messagetype.Subject
$3=$messagetype.DateTimeReceived.Date
$4=\"=======================================================\"
$compteur++
Write-Host \"Message de: \" $messagetype.From.Item.Name
Write-Host \"Sujet: \" $messagetype.Subject
Write-Host \"Recu le: \" $messagetype.DateTimeReceived.Date
Write-Host \"=======================================================\"
Write-Host
$texte = \"Message de : $1
Sujet : $2
Recu le : $3
$4
\" | Out-File -append -noclobber c:\rdv.txt
}
#\"
#Il y $compteur rendez-vous\" | Out-File -Append -NoClobber c:\rdv.txt #Pour les rendez vous
\"
Il y $compteur mail\" | Out-File -Append -NoClobber c:\rdv.txt
[/code:1]
La consultation de mon calendrier ou de ma inbox est OK. MAIS (oui encore un mais) je ne parviens pas à consulter les dossiers fils de ma inbox.
Et je voudrais réussir également à consulter les éléments d'une autre BAL que la mienne (sinon ca me sert à rien). Je n'y parvients pas. J'ai tenté de travailler avec -Credential dans cette ligne [code:1]$exchangeservicebinding = new-webserviceproxy -NameSpace \"EWS\" -URI $uri -UseDefaultCredential
[/code:1] mais sans résultats...
Pourriez vous m'aider s'il vous plait.<br><br>Message édité par: TimCruz, à: 26/01/10 12:10
\\"Il n\'y a pas de problème, il n\'y a que des solutions\\"
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 68
il y a 16 ans 1 mois #6030
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:Créer un rendez vous Outlook
TimCruz écrit:
Users who have owner rights on a shared mailbox can open the mailbox and act as the owner.
...\"
Ce qui laisse supposer qu'il faille procéder à une configuration.
TimCruz écrit:
En recherchant Exchange Web Services create calendar, tu peux aussi ajouter C# en début de requête.
Essaie déjà de te connecter sur le compte d'un autre user. Pour l'autre pb c'est peut être une question d'URI...
[edit]
Voir ce forum social.technet.microsoft.com/forums/en-U...changesvrdevelopment
Message édité par: Laurent Dardenne, à: 26/01/10 15:42
En consultant le SDK, je suis tombé sur Working with Delegate Access : \"...mais sans résultats...
Users who have owner rights on a shared mailbox can open the mailbox and act as the owner.
...\"
Ce qui laisse supposer qu'il faille procéder à une configuration.
TimCruz écrit:
Tu as fait la moitié du chemin, là il n'y a qu'un expert Exchange, ou un développeur Exchange, qui pourra de donner les dernières infos, par exemple ici ou là .Pourriez vous m'aider s'il vous plait.
En recherchant Exchange Web Services create calendar, tu peux aussi ajouter C# en début de requête.
Essaie déjà de te connecter sur le compte d'un autre user. Pour l'autre pb c'est peut être une question d'URI...
[edit]
Voir ce forum social.technet.microsoft.com/forums/en-U...changesvrdevelopment
Message édité par: Laurent Dardenne, à: 26/01/10 15:42
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- TimCruz
- Auteur du sujet
- Hors Ligne
- Membre junior
-
Réduire
Plus d'informations
- Messages : 25
- Remerciements reçus 0
il y a 16 ans 1 mois #6043
par TimCruz
\\"Il n\'y a pas de problème, il n\'y a que des solutions\\"
Réponse de TimCruz sur le sujet Re:Créer un rendez vous Outlook
Je pense avoir trouvé un début de réponse. Lors de la détermination du parent folder, je rajoute les 2 lignes de code suivante :
[code:1]$parentfolderid.Mailbox = New-Object EWS.EmailAddressType
$parentfolderid.Mailbox.EmailAddress = 'BALQUEJEVEUXANALYSER'
[/code:1]
Toutefois, il faut avoir une délégation sur la BAL concernée. Peut-être existe-t-il un moyen de consulter toutes les bal avec un compte spécifique de Exchange?
Je me suis aidé de ce lien : msdn.microsoft.com/fr-fr/library/bb856541%28en-us%29.aspx
[code:1]$parentfolderid.Mailbox = New-Object EWS.EmailAddressType
$parentfolderid.Mailbox.EmailAddress = 'BALQUEJEVEUXANALYSER'
[/code:1]
Toutefois, il faut avoir une délégation sur la BAL concernée. Peut-être existe-t-il un moyen de consulter toutes les bal avec un compte spécifique de Exchange?
Je me suis aidé de ce lien : msdn.microsoft.com/fr-fr/library/bb856541%28en-us%29.aspx
\\"Il n\'y a pas de problème, il n\'y a que des solutions\\"
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.102 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- Créer un rendez vous Outlook