mercredi 23 mai 2012

Exchange 2010 et la maintenance


Récemment, un de mes clients s'est interrogé sur le fait que lors du passage de la défragmentation en ligne sur sa base Exchange, aucun évènement n’était présent dans les journaux indiquant un gain d'espace.

Selon Microsoft, beaucoup de chose ont changées dans Exchange 2010 (cf. http://technet.microsoft.com/en-us/library/bb125040.aspx)

Je vous propose donc un petit résumé de ce qui se passe dans vos bases Exchange 2010 au travers de ce post.
Bonne lecture :)

samedi 14 avril 2012

Powershell - Interagir avec l'utilisateur

Si vous souhaitez interagir avec l'utilisateur dans vos scripts powershell, voici un exemple:

Activer PSRemoting


Après pas mal de galères pour activer PSRemoting voici les étapes nécessaire pour le bon fonctionnement:
Mon but était qu'une machine non intégrée au domaine puisse exécuter des commande powershell a distance

Pour ce faire, il est nécessaire côté serveur de:

  • Mettre en place un clef dans la base de registre (si seules les machines de votre domaine vont accéder  à votre serveur, inutile - RQ: dans certains cas des erreurs d'accès refuser peuvent apparaître si vous ne mettez pas cette clef, ceci est du à l'UAC, et il faut alors utiliser le compte Administrator et non votre compte habituel d'administration (même si vous élever votre prompt))
  • Créer un certificat pour le support SSL
  • Activer PSRemoting
  • Activer le support SSL
  • Ouvrir le firewall
  • Autoriser CREDSSP
Côté client, il sera nécessaire:
  • Mettre en place un clef dans la base de registre (si seules les machines de votre domaine vont accéder  à votre serveur, inutile)
  • Activer la délégation serveur


vendredi 30 mars 2012

Tester l'alignement des partitions

Pour des questions de performances, il est impératif que vos partitions soient aligner correctement (http://support.microsoft.com/kb/929491/en).
Mais comment tester cet alignement?

Le script Powershell suivant vous donnera l'information:


$wmiDiskPartition = get-wmiobject -class "Win32_DiskPartition" -namespace "root\CIMV2"
$wmiLogicalDisk = get-wmiobject -class "Win32_LogicalDiskToPartition" -namespace "root\CIMV2"
$MaListe=@()    
foreach ($partition in $wmiDiskPartition){
$MyResult=(($partition.StartingOffset) / 4096)
$d=New-Object PSObject
$d | Add-Member -Name Name -MemberType NoteProperty -Value ($partition.Name)
$Trouve=$False
foreach($part in $wmiLogicalDisk){
if( ((($part.antecedent).split("=")[1]).replace("""","")) -eq (($partition.Name).Replace("Disque n° ","Disk #").Replace("partition n° ","Partition #"))){
$Trouve=$True
$d | Add-Member -Name DriveLetter -MemberType NoteProperty -Value (($part.Dependent.split("=")[1]).replace("""",""))
}
}
if ($Trouve -eq $False){
$d | Add-Member -Name DriveLetter -MemberType NoteProperty -Value "N/A"
}
$d | Add-Member -Name BlockSize -MemberType NoteProperty -Value ($partition.BlockSize)
$d | Add-Member -Name NumberOfBlock -MemberType NoteProperty -Value ($partition.NumberOfBlocks)
$d | Add-Member -Name StartingOffset -MemberType NoteProperty -Value ($partition.StartingOffset)
$d | Add-Member -Name IsAligned -MemberType NoteProperty -Value ([int]$MyResult -eq $MyResult)
$MaListe+=$d
}
$MaListe | ft

mardi 6 mars 2012

Antispam d'exchange 2010

L’activation de l’AntiSPAM d’exchange 2010 se fait de manière très simple, mais avant, essayons de comprendre un peu comment il travaille :
9 types de filtrages existent :
  1. 1.       Liste verte IP (IP Alow List)
  2. 2.       Liste rouge IP (Ip Black List)
  3. 3.       Fournisseur de liste verte IP (IP Allow List Provider)
  4. 4.       Fournisseur de liste rouge IP (IP Block List Provider)
  5. 5.       Filtrage d’expéditeur (Sender Filter)
  6. 6.       Filtrage de destinataires (Recipient Filter)
  7. 7.       ID de l’éxpéditeur (Sender ID Filter)
  8. 8.       Filtrage de contenu (Content Filtering)
  9. 9.       Réputation de l’expéditeur (Sender Reputation Filter –SRF)

Ces différents filtrages s’exécutent dans l’ordre énoncé ci-dessus

Mise en cache des dossiers courriers des autres utilisateurs dans outlook 2007

Peut-être avez-vous remarqué que si vous ajouter des comptes supplémentaires dans votre outlook le cache ne fonctionne pas. Microsoft propose une KB (MSKB955572) qui vous explique comment contourner ce problème

Accéder aux commandes du clique-droit en powershell

Avez-vous déjà voulu accéder en PowerShell aux commandes du clique-droit?

Rien de plus simple, il suffit d'utiliser Shell.Application!


$drive = 'h:'
$sa = New-Object -comObject Shell.Application
$sa.Namespace(17).parseName($drive)

La commande suivant renvoie la liste des fonctions disponibles:
$sa.Namespace(17).ParseName("$drive").Verbs()

Par exemple:
$sa.Namespace(17).ParseName("$drive").InvokeVerb("Eject")
$sa.Namespace(17).ParseName("$drive").InvokeVerb("Format")

Forcer l’éjection d'un périphérique amovible

N'avez vous jamais été confronté à un périphérique USB qui ne veut pas s’éjecter?

Et bien voici la solution: devioctl

Ce programme en ligne de commande va forcer le démontage d'un volume, puis effectuer l’éjection.

Le programme est disponible ici: http://www.ltr-data.se/opencode.html

Et voici comment éjecter le lecteur E:


devioctl.exe forcedismount e:
devioctl.exe eject e:

Restauration de messages sous Exchange 2007

Dans cet exemple, nous allons restaurer des mails depuis une base de données Exchange 2007:

La machine sur laquelle les lignes de commandes ont été récupérées se nomme SBS-2008 et se compose d'Active Directory & Exchange 2007 SP3

mardi 24 janvier 2012

Connaitre l'espace occupé par les mails

Si vous souhaitez savoir l'espace occupé dans les bases de données et sur les disques par vos différentes banques Exchange, vous pouvez utiliser le script suivant: