Recherche sur le blog

mardi 29 septembre 2015

[WD20] Récupérer l'e-mail dans l'AD avec .NET

Si vous avez besoin, pour une raison une autre, de récupérer des informations depuis l'Active Directory pour l'utilisateur déjà connecté sans utiliser les fonctions de la famille LDAP*, alors vous pouvez utiliser l'assemblage "System.DirectoryServices" de .NET. Dans l'explorateur de projets, effectuez un clic droit sur "Assemblages .NET" puis choisissez l'option "Utiliser un assemblage" du menu contextuel.

La première étape consiste à initialiser les variables pour lancer la recherche. Pour cela on a besoin de trois types d'objets :
  • DirectoryEntry : qui encapsule un nœud/un objet dans la hiérarchie de l'AD.
  • DirectorySearcher : pour rechercher à partir d'une position spécifique.
  • Environment.UserName : nom de l'utilisateur authentifié. 
Exemple :   
Ensuite il faut initialiser le filtre de la recherche et indiquer les propriétés que l'on souhaite récupérer. Dans notre exemple nous souhaitons obtenir l'e-mail ("mail") mais également d'autres informations (comme le prénom et le nom).
On doit ensuite lancer la recherche à l'aide de la fonction "FindOne", qui va simplement renvoyer le premier objet répondant aux critères. Si la variable qui en résulte est différente de Null, alors on peut parcourir les propriétés. Pour rappel, Windev ne gère pas les tableaux .NET, il va donc être impossible de récupérer un objet en indiquant la clé ou l'index. Pour contourner nous avons utilisé une boucle de type "POUR TOUT" (équivalent à un "foreach" en C#) afin de parcourir l'ensemble des noms de propriétés. Ensuite, nous avons récupéré une collection d'objets correspondants à la clé "mail" grâce à la procédure "get_Item()". Il ne reste plus qu'à parcourir cette collection pour récupérer la valeur. Normalement il n'y en a qu'une puisqu'on a demandé à ne reprendre que le premier objet correspondant à nos critères de recherche. On stocke donc la valeur dans une simple variable chaine.

Voici un bout de code complet (cliquez sur l'image pour la télécharger) :
        

Bon développement !

lundi 28 septembre 2015

[Divers] Une histoire de logos

En juin la marque Lenovo a décidé d'adopter un tout nouveau logo. Google a fait de même il y a environ un mois. En y regardant de plus près on pourrait dire que la police de caractères utilisée est la même. En effet, si on observe bien la lettre "e" on pourra constater que la forme, les angles, sont identiques. Il s'agit très certainement d'une pure coïncidence. 

Ci-dessous le logo de Lenovo : 

                
Et celui de Google :


Sources

jeudi 24 septembre 2015

[Exchange] Exporter une boite mail à l'aide d'EMS

Si vous possédez Exchange 2010 SP2 ou supérieur, vous pouvez exporter une boite mail au format PST puis l'importer dans une autre. Cela peut se faire à l'aide d'Exchange Management Shell. Cela nécessite d'abord de créer les permissions pour l'exécution des commandes d'import/export. Vous pouvez vous référer à la documentation Technet #FF45927 pour en apprendre davantage.

Ouvrez d'abord Exchange Management Shell - il s'agit de l'invite de commandes PS dédié -, attendez que la connexion soit établie, puis attribuez les droits pour le rôle d'Import/Export, à l'aide de la commande suivante  : 
New-ManagementRoleAssignment -Role "Mailbox Import Export" 
 -User "Administrateur"
Si vous vous connectez avec un administrateur dans un domaine pour effectuer cette opération, remplacez "Administrateur" par "NOM_DOMAINE\Administrateur". Une fois cette opération effectuée vous devriez voir apparaitre un résumé de ce qui a été attribué. Fermez la fenêtre du shell puis rouvrez-en une.

Exporter

Créez maintenant un dossier partagé sur l'un de vos serveurs (cela peut être un dossier créé en local mais pour lequel on génère un nom de partage). Donnez les droits d'accès complets à l'utilisateur "Exchange Trusted Subsystem". Notre dossier est sur "C:\Export" et a été partagé en tant que \\EWS01\Export\. On y stockera les fichiers *.PST des boites mail.


Une fois le répertoire créé avec les bons droits d'accès, il faut retourner dans l'invite de commandes d'Exchange, et saisir la commande suivante pour lancer une requête d'export. Les paramètres seront le nom d'utilisateur pour lequel on souhaite exporter les données, et le répertoire dans lequel on va stocker le fichier *.PST :
New-MailboxExportRequest -Mailbox JONNY 
 -FilePath \\EWS01\Export\mb_jon.pst
Si la commande aboutit, - cela peut prendre quelques secondes avant qu'elle ne soit validée par le système -, Exchange indiquera que la requête a été "mise en file d'attente" (Statut = Queued). A tout moment on peut obtenir la progression de celle-ci en saisissant la commande suivante, toujours dans l'invite :
Get-MailboxImportRequest
Cette commande va renvoyer le statut en cours : "In Progress" ou encore "Completed" sont les états qui apparaissent généralement. On peut également obtenir plus de détails en complétant la commande comme dans l'exemple ci-dessous :
Get-MailboxImportRequest | fl
Une fois que votre requête est marquée comme "complétée", il faut simplement supprimer la demande dans le système. En utilisant la commande suivante, l'invite vous demandera de confirmer l'effacement. Il faut utiliser la touche "T" suivie de Entrée pour valider.
Get-MailboxExportRequest | where {$_.status -eq "Completed"} 
 | Remove-MailboxExportRequest
Dans l'immédiat on ne sait pas vérifier le contenu du PST, sauf en l'important sur une machine quelconque. Ce qui nous intéresse ici, c'est de l'importer dans une boite mail fraichement créée. Pour cela il va falloir suivre les étapes ci-dessous.

Importer

Une fois le fichier PST créé on peut l'importer dans une autre boite mail. On n'y pense pas mais c'est quand même mieux que de s'amuser à transférer les mails un par un ou de demander à l'utilisateur d'effectuer cette opération qui peut être longue, surtout si la boite contient de nombreux éléments. 
New-MailboxImportRequest -FilePath \\EWS01\Export\mb_jon.pst 
 -Mailbox ALFRED
On va demander au système de créer une requête d'import pour le fichier PST. C'est dans la boite d'Alfred qu'on va importer tous les éléments de Jonny. Il existe de nouveau une commande pour connaitre le statut de la demande. 
Get-MailboxImportRequest
Comme on peut le constater, celle-ci n'est pas très différente de celle utilisée pour l'export. De nouveau on obtient le statut, qui peut être "In Progress" ou encore "Completed". Nous ne connaissons pas tous les états par cœur, mais celui qui nous intéresse est bien sûr le tout dernier. Une fois l'opération signalée comme terminée, il faudra exécuter : 
Get-MailboxImportRequest | where {$_.status -eq "Completed"} 
 | Remove-MailboxImportRequest
De nouveau l'invite demande s'il faut clôturer la (ou les) requête(s). On répond directement à l'aide de la touche "T" pour traiter tous les éléments en une seule fois, puis on appuie sur Entrée. Toutes les requêtes sont alors effacées.

Sources

Exchange Server Pro.

mercredi 23 septembre 2015

[Mémo] Activer Intel Smart Response via CLI

Tout d'abord télécharger les drivers adéquats pour votre chipset, ainsi que l'interface en ligne de commandes qui correspond. Si vous avez activé le RAID dans le BIOS, et si vous avez déjà effectué toutes les manœuvres pour tenter de réactiver le cache avec un SSD mais que rien n'a fonctionné, voici ce que vous pouvez faire... 

On part donc bien sur le principe que le disque est initialisé mais avec aucune partition de créée (unalloced space). Dans l'interface Windows du pilote Rapid Storage, le SSD et le disque dur apparaissent tous les deux en état "Normal" et l'onglet "Technologie de Réponse Intelligente" n'apparait pas. Sur notre machine de test, le système d'exploitation est un Windows 8.1 64 bits.

      
On commence par créer un volume cache sur le SSD :
rstcli64 --accelerate --createCache --SSD [#ID] --cache-size XX
Pour récupérer l'identifiant du SSD, on peut utiliser l'argument -I de la commande rstcli. Une fois que l'identifiant est connu, on peut remplacer [#ID] par celui-ci. Par exemple, nous avons notre SSD avec l'ID 0-5-0-0. Sa taille est de 30 GB d'après l'utilitaire. La commande donnera ceci : 
rstcli64 --accelerate --createCache 
 --SSD 0-5-0-0 --cache-size 30
Une fois que cette commande a été exécutée une notification apparait dans la barre de tâche pour indiquer que le volume "Cache_Volume" a été créé sur le disque SSD dans le port 5. Nous avons ensuite voulu l'associer avec l'argument --setAccelConfig mais avons eu un joli message d'erreur "Disk has no space for metadata, is not available or is not in normal state". Après plusieurs essais, nous avons tout simplement utilisé l'option "Disassociate", comme dans la commande suivante. Nous avons supposé qu'elle enlève toute liaison existante avec le volume de cache : 
stcli64 --accelerate --disassociate --cache-volume Cache_Volume
La commande retourne alors 0 si tout se passe bien. Si on ferme et qu'on ouvre à nouveau l'interface graphique du pilote Rapid Storage, et qu'on se rend dans l'onglet "Performance" puis "Technologie de Réponse Intelligente", on peut alors choisir le périphérique à accélérer, ce qui n'était pas le cas jusqu'à présent. On peut également exécuter la commande suivante : 
rstcli64 --accelerate --setAccelConfig 
 --disk-to-accel [#ID] --mode enhanced
Le mot-clé [#ID] peut être remplacé par l'identifiant du disque dur qui doit être accéléré. On spécifie également le mode à utiliser, qui dans notre cas est le mode "Amélioré". Il s'agit du cache en lecture seulement. Le mode "Optimisé" doit être utilisé avec précaution.
rstcli64 --accelerate --setAccelConfig 
 --disk-to-accel 0-0-0-0 --mode enhanced
La commande ci-dessus est l'exemple qui a été utilisé sur notre machine où le problème s'était présenté. Le disque dur Hitachi qu'il faut accélérer est installé sur le port 0. Après exécution de la commande, vous devriez voir un popup apparaitre pour indiquer que c'est actif. Idem si vous avez effectué cette opération depuis l'interface graphique.

[Logiciels] Microsoft Office 2016 est disponible

La nouvelle version de Microsoft Office est disponible depuis ce mardi 23 septembre 2015, au prix de 279 € pour la version destinée aux familles et PME. Les abonnés à Office 365 eux, pourront profiter gratuitement des outils mis à niveau. Parmi les nouveautés on pourra noter de nombreuses améliorations liées au Cloud et aux réseaux sociaux...


En effet, le travail collaboratif a été amélioré puisqu'il est possible pour plusieurs personnes d'éditer, en simultané et en temps réel, un document stocké sur OneDrive, à l'image de ce qui se fait sur Google Docs. La fonctionnalité, appelée "co-création", n'est utilisable qu'avec Word, PowerPoint et OneNote. Microsoft a aussi travaillé sur l'intégration de Skype au sein de la suite, en ligne comme hors ligne.

Deux nouvelles applications font aussi leur apparition : Sway vous permettra de créer une page Web de présentation pour y publier du contenu comme des rapports, des lettres, etc, avec un look soigné. Ces éléments pourront être partagés sur les réseaux sociaux comme Facebook ou Twitter. L'application Delve vous permettra d'afficher et de rechercher aisément des personnes avec lesquelles vous collaborez actuellement ou des documents auxquels vous avez accès. Le tout se présentant sous forme de profil avec des fonctionnalités de recherche avancées. 

Les 3 applications principales sont également dotées d'un nouveau moteur de recherche, qui simplifiera notamment l'accès aux différentes commandes. On le sait, il est parfois compliqué de trouver ou retrouver une fonctionnalité, tant la suite s'est étoffée au fil du temps. C'est donc le rôle de Tell Me de guider l'utilisateur jusqu'à la composante voulue. Excel propose également "Prévision en un seul clic" pour avoir un aperçu rapide de vos données et 6 nouveaux types de graphiques.

Sources