Le blog technique

Toutes les astuces #tech des collaborateurs de PI Services.

#openblogPI

Retrouvez les articles à la une

Powershell: Acces aux variables entre Session locale et session distante.

Independemment de la portabilité des variable dans un script, un problème se pose lorsque vous souhaitez, dans un script, accéder des variable locales depuis des commandes executées sur une machine distante.

Exemple:

 

$vmmserver= »monserveurvmm.home.com »
$VmToStop= »c:\BackupAdmin\VMToStop.txt »

if (!(test-path $VmToStop))
{
write-host « le fichier des VM $VmToStop a eteindre introuvable. le script va s’arreter »
Exit
}
else
{
$VmToStop= Get-Content $VmToStop
foreach ($vm in $VmToStop)
{

        Invoke-Command -ComputerName $vmmserver -ScriptBlock {
        param($vm,$vmmserver)

        Add-PSSnapin microsoft.systemcenter.virtualmachinemanager
        $vmstatus= (get-vm -Name $vm -VMMServer $vmmserver | Select-Object -Property status)
        if ($vmstatus.status -eq « running »)
            {
            write-host « La VM $vm est démarré et va etre arretée »
            Shutdown-VM -VM $vm
            }
            elseif ($vmstatus.status -eq « PowerOff »)
            {
            write-host « La VM  $vm est déja arrétée »
            Exit
            }
        } -Argumentlist $vm,$vmmserver
}
}       

##################################

 

Dans ce script qui recherche dans un fichier “VMToStop.txt” une liste de machine virtuelles a arrêter, un bloc de commande est executé a distance (Invoke-Command -ComputerName $vmmserver -ScriptBlock { } ) sur un serveur scvmm. Comment faire en sorte que les commandes executées a distance connaissent les variables locales $vm et $vmmserver ?

param($vm,$vmmserver) va permettre de declarer une liste de variable dans le ScriptBlock

-Argumentlist $vm,$vmmserver va permettre de faire la liaison entre le contenu de param et les variables locales.

A noter que le nom des variables déclarées par param est arbitraire, mais il est nécéssaire que ces variables soit dans le meme ordre que celles de –Argumentlist .

EXCHANGE 2010 – Activer la console de performance ECP

La console Web ECP permet à l’utilisateur certaines actions.

Cette console “embarque” une fonction qui n’est pas visible par défaut : Console de performances.

Cette console permet de mesurer la performance depuis votre client Web et les services

de messageries .Elle pourra vous aider à réaliser certains diagnostics.

Pour activer cette console il faut apporter une modification au fichier web.config situé

dans le répertoire …..\Exchange Server\V14\ClientAccess\ecp

   <!– Set ShowPerformanceConsole to "true" to show ECP’s Perf Console: –>

          <add key="ShowPerformanceConsole" value="false" />

Changer la valeur ShowPerformanceConsole de false à true.

Redémarrer IIS (iisreset /noforce).

Lancer la console ECP : https:\\monserveur.exchange.fr\ecp

*****************                 Rappel : avant la modif:              **************************

clip_image002

***********************************************************************************************

Un nouveau menu est disponible:

clip_image002[5]

Cliquez sur “Console de performance”.

clip_image002[7]

A la première ouverture il y a de fortes chances de voir ces quatre premiers compteurs.

Selon les outils que vous utilisez dans la console ECP d’autres compteurs seront listés:

clip_image002[9]

Les données peuvent être exportées vers Excel en cliquant simplement sur “Copier”.

Bonne utilisation.

Exfolders , l’outil ultime pour vos dossiers publics

Pour ceux qui sont amenés à faire du troubleshooting sur les dossiers publics avec Exchange 2010.

Microsoft leur fournie un outil de troubleshooting assez complet nommé ExFolders.

Cet outil remplace PFDAVAdmin utilisé pour Exchange 2000/2003.

Nous savons que Les tâches d’administration peuvent être faites avec la console graphique ou les cmedlets Get-PublicFolder* , Set-PublicFolder*et add-PublicFolder* etc..

Pourquoi utiliser alors Exfolders ?

Exfolders offre aux administrateurs :

  • Une console d’administration complète à l’inverse de celle par défaut qui n’est pas très pratique pour une utilisation quotidienne.
  • Propager des ACE (Access Control Entry) sans écraser les ACL existantes
  • Réparer des DACL endommagées sur les publics folders dans le cas ou on a des erreurs sur la console Exchange , exemple ci-dessous.

clip_image002

  • Import & Export des permissions (utile lors d’une migration inter-forêt)
  • Import & Export de la liste des réplicas
  • Diagnostiquer les problèmes de publication Free/busy
  • Diagnostiquer des problèmes de génération OAB (dans le cas ou vous avez encore Outlook 2003).
  • Import & export des propriétés d’un dossier (ExchangeLegacyDN,PR_Replica_Server..)

Exemple ci-dessous: Export des propriétés d’un dossier

clip_image002[5]

clip_image004

 

clip_image006

  • La possibilité de se connecter à plusieurs bases de données : utilse dans le cas ou on compare deux bases de données publics.
  • Contrôler vos réplicas et les permissions :

clip_image002[7]

Cliquer sur Add

clip_image004[4]

Sélectionner le serveur replica et cliquer sur oK

clip_image006[12]

Cliquer Commit Changes pour valider le changement.

clip_image008

Gérer vos permissions !

L’outil est disponible en téléchargement à l’adresse suivante :

http://gallery.technet.microsoft.com/Exchange-2010-SP1-ExFolders-e6bfd405

La Team Exchange en parle : http://blogs.technet.com/b/exchange/archive/2009/12/04/3408943.aspx