Le blog technique

Toutes les astuces #tech des collaborateurs de PI Services.

#openblogPI

Retrouvez les articles à la une

Erreur de mises à jour WSUS

Contexte :

Le problème décrit ci-dessous a été rencontré dans le cadre de la mise en place d’un serveur WSUS sous Windows Server 2012 R2.

Problème rencontré :

Suite à la mise en place de WSUS, toutes les installations de mises jours depuis les serveurs étaient en échec ainsi que la remontée des rapports.

image

Un code d’erreur apparait : 80244016.

image

Analyse :

Pour obtenir plus de détails sur ce type de problème, l’outil WireShark peut être utilisé depuis un « client » WSUS afin d’analyser les flux réseau entre le client et le serveur WSUS.

Il faut ensuite filtrer les résultats obtenus sur les protocoles http et https.

La traceWireShark permet de mettre en évidence qu’une erreur de type « http/1.1 400 Bad Request » est déclenchée.

image

En observant en détail la requête http, on observe que le client WSUS tente de récupérer un fichier « .cab » sur le serveur WSUS avec le nom complet du serveur WSUS (FQDN).

La requête essai de communiquer avec l’host : hote.mondomaine.com.

image

Explication :

Le problème est dû à une incohérence entre la configuration du site IIS du serveur WSUS et l’URL positionnée sur les clients WSUS.

Les deux valeurs doivent être identiques (soit le nom NetBIOS du serveur WSUS, soit son FQDN).

Pour trouver le paramètre erroné il suffit de vérifier tous les endroits où l’URL est rentrée.

Le premier point à vérifier est la configuration de la stratégie de groupe positionnant l’URL WSUS sur le client.

Pour vérifier il suffit de lancer la commande « Rsop.msc » sur le client WSUS, puis d’aller dans le dossier « Windows Update » dans la section Configuration Ordinateur / Modèle d’administration / Composant Windows :

image

L’URL est positionnée dans le paramètre « Spécifier l’emplacement intranet du service de mise à jour Microsoft »

image

Il ne reste plus qu’à vérifier la configuration de IIS. Une fois la page de management est ouverte il faut se mettre sur le site « WSUS Administration ».

Puis aller dans le paramètre « Bindings »

image

Et d’éditer l’adresse http.

image

Dans notre exemple, la GPO demande au client d’utiliser le FQDN du serveur alors que le site IIS accepte uniquement les requêtes adressées au nom court.

image

Résolution :

Pour résoudre le problème, il suffit de modifier le « host name » du site Web IIS par le FQDN du serveur.

Suite au redémarrage de IIS, les clients WSUS peuvent appliquer les mises à jour avec succès.

image

On peut vérifier en relançant une capture de trames et on s’aperçoit bien que le serveur WSUS répond avec le code 200, ce qui signifie que la requête a été traitée avec succès.

image

Recupération du code retour lors d’une exécution d’un script PoSh sous Orchestrator

INTRODUCTION

Orchestrator (SCO) est une solution d’automatisation de processus (Run Book Automation – RBA) pour l’orchestration. Un runbook contient plusieurs activités connectées sous forme d’un workflow. Pour bien définir le chemin d’un workflow, il faudra savoir récupérer le code retour d’une activité. Par défaut, le code retour d’une activité (Initialize Data) est définit comme dans l’exemple ci-dessous:

Pour afficher l’écran ci-dessus, double-cliquer sur le lien entre deux activités. On cochant la bonne case, nous pourrons définir le chemin du workflow en cas de « success », »warning » ou « failed ». Mais, cela devient plus compliqué si nous souhaitons récupérer un code retour d’une application ou d’un script PoSh. Dans l’exemple ci-dessous, nous allons récupérer le code retour d’un script PoSh lancé par Orchestrator. 

Exemple

Nous allons créer un runbook qui lancera un script PoSH avec deux codes retour possible  : 100 et 101. Les deux codes retour doivent emprunter deux chemins diférents. Le runbook resemble à:

L’activité « Run Program » lancera le script. L’activité « Return code » en PoSh récupérera le code retour et le mettra dans une variable qu’on traitera par la suite. Attention: dans l’exemple le script PoSh est lancé par un fichier .bat.

Le script powershell contient les codes suivants: 

$server = "127.0.0.1"
$ping = new-object System.Net.NetworkInformation.Ping
$ReponsePing = $ping.Send($server)


if ($ReponsePing.status –eq “Success”) 
{
     return 100
}
else 
{
     return 101
}

 

Le script .bat contient les codes suivants:

powershell .\ping.ps1

Paramétrage des activités

Dans l’activité « Run Program »:

Sélectionner « Command execution » puis entrer le nom du serveur, le chemin du fichier .bat et le répertoire de travail. 

Après l’exécution de l’activité, le code retour (100 ou 101) sera publié dans une variable publiée automatiquement. Le nom de la variable est Pure Output et on constate bien à la fin le code retour 100. 

Nous allons récupérer ce code retour sans une autre variable qu’on nommera $pureOutput grâce à un script PoSh définit dans l’activité « Return code ».

Assurez vous que la variable est bien publiée dans « Published Data ». Grâce à cette variable nous pourrons définir correctement le chemin à prendre si le code retour est 100 ou 101. Pour le faire, double-cliquer sur le connecteur (link) et ajouter la variable « pureOutput » et son contenu.

Faire la même chose sur le connecteur (link) pour le code retour 101.

 

 

 

 

 

 

 

 

Installation et configuration d’un relais SMTP sous IIS

Introduction 

Les applications qui sont accessibles sur internet sont bien souvent installées dans un environnement de DMZ pour des raisons de sécurité. Des fois, ces applications nécessitent un envoi de mail sans pour autant passer directement par le serveur SMTP mais en faisant un rebond sur un relais SMTP (encore une fois pour des raisons de sécurité). Nous allons installer et configurer ce relais SMTP sous IIS.

Prérequis

  • 2 serveurs Windows (2, pour du load-balancing)
  • 1 VIP F5 avec les deux serveurs configurés dans le pool (Le F5 gère automatiquement le load-balancing)
  • l’ip du serveur SMTP

Installation IIS ( A faire sur les deux serveurs)

Sélectionner « Web Server (IIS) » et cliquer sur « Next ».

Laisser les fontionalités par défaut et faire un « Next » pour démarrer l’installation de IIS.

Configuration du relais SMTP (A faire sur les deux serveurs)

1. Lancer « Internet Information Services 6.0 Manager » et faire un clic droit sur « SMTP Virtual Server #1» puis sélectionner « Properties ».

2. Dans l’onglet « Access », cliquer sur « Authentification » et sélectionner « Anonymous »

3. Dans l’onglet « Delivery » , cliquer sur « Outbound Security».

4. Cliquer sur « Advanced » et entrer le Fully-Qualified domain name (Nom du serveur IIS) et dans Smart host, entrer l’addresse du serveur SMTP.

La configuration du relais SMTP est terminé.

Autoriser une application à envoyer des e-mails sur le relais SMTP (A faire sur les deux serveurs)

Pour autoriser une application à envoyer des e-mail en anonyme, il faudra autoriser l’ip de serveur applicatif sur le relais SMTP IIS.

1. Aller dans l’onglet « Access » et cliquer sur « Relay ». Cliquer sur Add pour entrer l’IP du serveur qui doit envoyer de e-mail.