Le blog technique

Toutes les astuces #tech des collaborateurs de PI Services.

#openblogPI

Retrouvez les articles à la une

Skype for Business – Accès à la messagerie vocale depuis un téléphone

Contexte

Lors de l’installation d’un téléphone Skype (type Polycom VVX400 ou AudioCodes 440HD) l’appel vers la messagerie vocale de l’utilisateur ne fonctionne pas.

En appelant la messagerie depuis le client Skype for Business l’appel fonctionne.

Solution

La connexion des téléphones au compte Skype de l’utilisateur se fait via les serveurs Skype for Business mais la messagerie vocale se trouve sur les serveurs Exchange (rôle UM) et non pas sur les serveurs Skype for Business.

Pour faire fonctionner les appels vers la messagerie vocale il faut donc ouvrir certains ports des téléphones vers les serveurs Exchange :

Source Destination Ports
VLAN VOIP IP Exchange Server (rôle UM) TCP : 5060, 5061, 5062, 5063, 5065, 5066, 5067, 5068
VLAN VOIP IP Exchange Server (rôle UM) UDP : 1024 à 65535

Affichage du Body d’un mail en PowerShell via l’utilisation des Web Services API Exchange

 

Lorsque vous récupérez un mail en PowerShell au travers des API Web Services Exchange, le corps du mail semble vide.

 

image

 

Pour afficher le contenu du body, il faut appeler la fonction .load().

Le body du mail s’affiche.

image

 

Cependant celle ci s’affiche formaté en HTML.

SI vous souhaitez l’afficher sous un format texte, il faut indexer une variable avec la propriété Text.

Exemple :

$psPropertySet= New-Object Microsoft.Exchange.WebServices.Data.PropertySet([Microsoft.Exchange.WebServices.Data.BasePropertySet]::FirstClassProperties)
$psPropertySet.RequestedBodyType = [Microsoft.Exchange.WebServices.Data.BodyType]::Text

$mail.load($psPropertySet)

$mail.body.text

 

Résultat:

image

Renommage des ressources d’une VM suite à un déploiement par SCVMM

 

Lorsque vous déployez une machine virtuelle par VMM, celle ci est préfixé au niveau du nom par SCVMM. La ressource Virtual Machine Configuration est également préfixée.

Voici un script qui va se charger de renommé les ressources comme ci celle ci avaient été déployé depuis Hyper-V /Failover Clusters et non VMM.

image

 

 

Code:

Param ([string]$VM, [string]$MonCluster)

if (($VM -eq $NULL) -or ($MonCluster -eq $NULL))
{
    write-host « Il manque un argument » -f yellow
}
else
{
    $VM=$VM.ToUpper()
    get-cluster $MonCluster
    if ($?)
    {
        get-cluster $MonCluster | Get-ClusterGroup -Name « SCVMM $VM Resources »
        if ($?)
        {
            (get-cluster $MonCluster | Get-ClusterGroup -Name « SCVMM $VM Resources »).name=$VM
            if ($?)
            {
                sleep -s 2
                ((get-cluster $MonCluster | Get-ClusterGroup -Name « $VM » | Get-ClusterResource) |?{$_.resourcetype -eq « Virtual Machine »}).name= »Virtual Machine $VM »
                ((get-cluster $MonCluster | Get-ClusterGroup -Name « $VM » | Get-ClusterResource) |?{$_.resourcetype -eq « Virtual Machine Configuration »}).name= »Virtual Machine Configuration $VM »
            }
            else
            {
                write-host « Renommage du Groupe de Ressource echouer » -f yellow
            }
        }
        else
        {
            write-host « Groupe de Ressources pas trouver » -f yellow
        }
    }
    else
    {
        write-host « Cluster pas trouver » -f yellow
    }
}