Here is a very nice coding game with a good difficulty. Several ways to solve the problem.
Don’t miss it!
http://alexnisnevich.github.io/untrusted/
Thanks Yann 🙂
In the category, we will have a lot of small stuff about technical tips I was looking for on internet while programming
Here is a very nice coding game with a good difficulty. Several ways to solve the problem.
Don’t miss it!
http://alexnisnevich.github.io/untrusted/
Thanks Yann 🙂
Had the following problem these past days after mounting my new rig:
[PROBLEM]
My computer was “randomly” crashing. My monitor was turning black (but stayed ON) and I had to reboot manually. It used to happen a lot:
My dump files mentionned:
System:
SYSTEM_SERVICE_EXCEPTION nvlddmkm.sys
[…]
Probably caused by : nvlddmkm.sys ( nvlddmkm+39be1c )
Application: the thread tried to read from the virtual address for which it does not have the appropriate access
I tried to remove/install all kind of nvidia drivers without any success.
[SOLUTION]
GO to the following website and download/install the bios update (under Driver & Tools)
VBIOS update for GTX770-DC2OC-2GD5 & GTX770-DC2-2GD5
Improve stability
https://www.asus.com/Graphics_Cards/GTX770DC2OC2GD5/#support
It worked for me!
Bonjour,
Aujourd’hui je vous présente un exemple de code Powershell utilisant les types et fonctionnalités de l’Exchange Web Service Managed API (EWS API 1.1)
Le script suivant permet de parcourir un dossier d’email en particulier. Il check si les éléments possèdent un ID personnalisé (qui est une propriété étendue). Dans le cas contraire, il en affecte une (génération d’un GUID)
Voici le code:
$usertoQuery = "EMAILADDRESS" $dllpath = "XXX\Microsoft.Exchange.WebServices.dll" [void][Reflection.Assembly]::LoadFile($dllpath) $service = New-Object Microsoft.Exchange.WebServices.Data.ExchangeService([Microsoft.Exchange.WebServices.Data.ExchangeVersion]::Exchange2010_SP1) $service.Credentials = new-object Microsoft.Exchange.WebServices.Data.WebCredentials("LOGIN","PWD","DOMAIN") $service.Url = new-object Uri("http://URL/EWS/Exchange.asmx"); $svFldid = new-object Microsoft.Exchange.WebServices.Data.FolderId([Microsoft.Exchange.WebServices.Data.WellKnownFolderName]::SearchFolders,$MailboxName) $delFldid = [Microsoft.Exchange.WebServices.Data.DeleteMode]::HardDelete $fvFolderView = new-object Microsoft.Exchange.WebServices.Data.FolderView(1000) $folders = $service.findfolders($svFldid,$fvFolderView) $ExtendedProp = new-object Microsoft.Exchange.WebServices.Data.ExtendedPropertyDefinition([Microsoft.Exchange.WebServices.Data.DefaultExtendedPropertySet]::PublicStrings, "MyCustomID", [Microsoft.Exchange.WebServices.Data.MapiPropertyType]::String) $ExtendedProp $Propset = new-object Microsoft.Exchange.WebServices.Data.PropertySet([Microsoft.Exchange.WebServices.Data.BasePropertySet]::FirstClassProperties, $ExtendedProp) foreach ($folder in $folders) { if ($folder.displayName -eq "FOLDERNAME_I_WANT_TO_CHECK") { "We are in the correct folder" $fvItemView = new-object Microsoft.Exchange.WebServices.Data.ItemView(10000) $items = $service.FindItems($folder.Id,$fvItemView) #Don't show any result for the next line $service.LoadPropertiesForItems($items, $Propset) foreach ($item in $items) { "**Subject** : " $item.Subject "**Number of Extended Properties**: " $item.ExtendedProperties.Count $a = 0 foreach ($extendedProperty in $item.ExtendedProperties) { if ($extendedProperty.PropertyDefinition.Name -eq $ExtendedProp.Name) { $a = 1 "Break (Value = " + $extendedProperty.Value + ")" break; } } if ($a -eq 0) { $g1 = [Guid]::NewGuid() $item.SetExtendedProperty($ExtendedProp, $g1.ToString()) "Guid = " + $g1 "ValueGuid added!" $item.Update([Microsoft.Exchange.WebServices.Data.ConflictResolutionMode]::AlwaysOverwrite) "Item saved" } } } } |
Et voila une base pour maitriser (un peu) la sémantique Powershell et manipuler l’api EWS d’une autre façon!
Bonjour,
Aujourd’hui, cap sur les propriétés personnalisées avec Exchange Web Service API:
Au delà des propriétés “basiques” telles que Subject, Body, From (…) il est possible d’avoir des propriétés personnalisées sur chaque “ServiceObject”.
EmailMessage étant un ServiceObject, à l’instar de Folder ou encore de Contact, voyons comment jouer avec ces propriétés personnalisées (ou “étendues“):
ExtendedPropertyDefinition extendedPropertyDefinition = new ExtendedPropertyDefinition(DefaultExtendedPropertySet.PublicStrings, "Name Of my property", MapiPropertyType.String); MyMessage.SetExtendedProperty(extendedPropertyDefinition, "ValueOf my property"); |
La propriété personnalisée peut avoir différents types : string, integer, booleen, date.. (énuméré dans MapiPropertyType)
Pour sauver les modifications apportées (si toutefois c’est un élément récupéré et non une création), utilisez la méthode suivante :
MyMessage.Update(ConflictResolutionMode.AlwaysOverwrite); |
Dans le cas d’un Dossier, c’est la même méthode mais sans paramètre qui sera appelée.
Pour récupérer les valeurs des propriétés personnalisées, ou encore plus complexe: récupérer toutes les propriétés d’un email, je vous suggère l’article suivant