Microsoft

SCOM 2007 R2: base operationsManager sur SQL Server 2008 R2

Contrairement à SCCM 2007R2, SCOM n’accepte pas d’installer la base OperationsManager/Data Warehouse sur un SQL Server 2008 R2. La vérification des pré requis échoue, indiquant que SQL Server n’est pas installé:

Le moyen le plus simple que j’ai trouvé est d’utiliser DBCreateWizard, disponible sur le CD/iso dans \SupportTools\AMD64. Il permet de créer la base OperationsManager et Data Warehouse:

Une fois le RMS installé, je vous conseil de passer la Cumulative Update #2.

Popularity: 7% [?]

SCOM 2007 R2: superviser une VM Linux Amazon EC2

Quelle drôle d’idée vous allez me dire… Mais avoir une ou plusieurs VM dans le cloud ne justifie pas d’avoir une supervision « à part ». Cependant le défi est pas mal:

  • Les Managements Pack Microsoft ne sont pas prévu pour Fedora
  • L’authentification par défaut sur les VM Amazon est à base de certificat

Lorsque SCOM détecte Fedora, il bloque directement: Pour détecter la version, SCOM exécute le script Shell qui se trouve ici: Par ailleurs, le dossier comprend aussi les RPM qui sont installés par la suite (démon). Arriver à notre fin va nécessiter de l’huile de coude à plusieurs endroits…

Pour vous encourager, voici le résultat: Performances SCOM pour une VM Amazon EC2 Vous l’aurez compris, il s’agit notamment de faire croire à SCOM que nous avons une Red Hat. Il y a en fait deux possibilités:

  • Créer un Management Pack pour Fedora.
  • Maquiller la VM pour paraitre comme une Red Hat.

La première solution est la plus élégante, mais elle va être longue à mettre en place, et à maintenir ensuite. J’ai donc préféré la seconde, surtout qu’une Fedora n’est pas très éloignée…

Modifications sur le Linux Amazon EC2

Autoriser la connexion SSH sans certificat

dans /etc/ssh/sshd_config:

PasswordAuthentication yes
PermitRootLogin no
#Supprimer également la dernière ligne du fichier qui permet un logon root sans mot de passe

Il faut ensuite donner un mot de passe au compte root:

passwd root

puis recharger la configuration:

/etc/init.d/sshd reload

Puis créer un compte utilisateur pour SCOM:

useradd scom
passwd scom

Vérification du hostname

Par défaut, la VM a pour hostname son adresse IP interne. SCOM va déployer un rpm afin d’avoir un démon sur la VM, et génèrera un certificat pour s’authentifier.
Il est impératif que le hostname corresponde au nom utilisé par SCOM pour joindre son agent. Le plus simple est de changer le hostname par un nom accessible via les dns publiques, par exemple www.lotp.fr:
hostname www.lotp.fr
Afin de résister à un reboot, il faut également modifier /etc/sysconfig/network an ajoutant:
HOSTNAME=www.lotp.fr

Dépendances

Le package RPM de Microsoft a des dépendances, notamment sur deux librairies:

  • /usr/lib/libssl.so.6
  • /usr/lib/libcrypto.so.6

Si votre système a une version plus récente (so.8 …), il suffit de faire des liens symboliques (ln -s cible fichierquiexiste):

Si vous ne le faites pas, vous aurez les messages d’erreurs suivants à l’installation du RPM (d’abord libssl puis libcrypto une fois le premier corrigé):
Au final, j’ai les liens symboliques suivants:
lrwxrwxrwx  1 root root       16 Feb 16 16:19 libssl.so.6 -> libssl.so.0.9.8k
lrwxrwxrwx  1 root root       12 Feb 16 16:23 libcrypto.so.6 -> libcrypto.so

Je vous invite à copier le rpm (scx-1.0.4-248.rhel.5.x86.rpm), afin de valider la bonne installation. Sinon c’est SCOM qui le fera pendant le déploiement, et les messages de retour ne sont pas toujours explicite.
Par ailleurs, cela permet de voir le nom avec lequel le certificat est crée:

Il est toujours possible de le désinstaller:

rpm -e scx-1.0.4-248.i386

Ports TCP

SCOM va se connecter par deux moyens:
  • SSH
  • port 1270 (agent scom sur Linux)

Il faut configurer le parefeu Amazon afin que ces deux accès soient possibles. Si le port 1270 n’est pas joignable, SCOM remonte une erreur de timeout pas explicite. Le trafic vers ce port est confirmé par une trace réseau: NB: si vous ne connaissez pas Wireshark, j’ai fait une vidéo/tutoriel dessus, elle est disponible ici.

/etc/redhat-release

Par défaut, Fedora crée un lien symbolique de /etc/fedora-release vers /etc/redhat-release. il faut casser ce lien symbolique, et créer le fichier redhat-release avec comme donnée Red hat…:

rm /etc/redhat-release
echo "Red Hat Enterprise Linux Server release 5" > /etc/redhat-release

Modifications sur SCOM 2007 R2

Les actions à mener seront les suivantes:

  • Autoriser WinRM à faire de l’authentification basique
  • Importer les Managements Pack Linux/Unix génériques et Red Hat en particulier
  • Ajouter un compte de type Authentification basique pour se connecter au Linux (non root)
  • Ajouter un compte de type Authentification basique pour se connecter au Linux (root)
  • Associer les comptes ajoutés aux profiles Unix Action Account et Unix Privileged Account
  • Découvrir la VM Linux et signer le certificat

Ajouter la VM est passe comme une lettre à la poste si vous respectez bien les différents pré requis. Je vais donc m’attarder sur les problèmes que j’ai rencontré. Autoriser WinRM à faire une authentification basique: Si vous n’avez pas mis le bon hostname, le certificat est refusé au moment de le signer: Si vous ne déclarez pas de comptes, les workflow ne fonctionnent pas:

Au départ, la VM n’est pas encore supervisée et marquée « unknown »:

Puis elle passe ensuite au vert:

Voilà, à ce stade, votre VM est supervisée par SCOM 2007 R2. Voici quelques écrans de SCOM 2007 R2 une fois tout opérationnel:

Popularity: 17% [?]

WDS/MDT: enlever F12

Par défaut, pour démarrer depuis le réseau via WDS, il faut:

  • Indiquer pendant le bios de démarrer sur le réseau (F12 en général)
  • Une fois le bail DHCP obtenu, il faut de nouveau et rapidement presser F12 pour vraiment démarrer sur le réseau

Cette deuxième confirmation est une sécurité. Si l’ordre de boot positionne le réseau avant le disque dur, les machines essaieront tout le temps de démarrer via le réseau avant le disque dur. En général, on démarre sur le réseau uniquement pour installer le système d’exploitation, et ensuite tout le temps depuis le disque dur.

Moyennant d’avoir les bios correctement configurés, le deuxième F12 est en trop. Depuis WDS (2003 et 2008), il suffit de remplacer pxeboot.com par pxeboot.n12 pour supprimer le deuxième F12:

Pour rattraper un historique sur un parc existant, Dell et HP offre des outils centralisés pour paramétrer le bios des machines à distance (génération d’un exécutable à télé-distribuer en général):

Popularity: 14% [?]

Consulting LOTP

je cherche des missions ponctuelles, par exemple:

  • Interventions sur production bloquée
  • Audits (tests d’intrusions, santé de votre infrastructure…)
  • Problèmes de performances
  • Projets de courte durée
  • Pilotes, maquettes
  • Veille technologique
  • Télé administration

Besoin d’un regard neuf sur un problème sans solution?

Ma triple compétence Microsoft/Réseau/Sécurité me permet d’intégrer toutes les briques de votre infrastructure dans la réflexion, et ainsi proposer la meilleure solution dans votre contexte.
Contrairement aux spécialistes mono techno voir mono produit, ma vision transversale me permet d’identifier les impacts à tous les niveaux et corréler des évènements ou paramétrages entre eux.
Vous avez certainement un caillou dans la chaussure que je serai ravi de vous enlever! A distance ou sur site, d’une heure à 2 mois de travail, nous trouverons ensemble une solution adaptée à votre contexte.

Aller plus loin

Vous pouvez aussi consulter mon CV

je suis joignable à cette adresse : mathieu.chateau@lotp.fr

Mon profil linkedin : http://www.linkedin.com/in/mathieuchateau

Popularity: 9% [?]

Windows 7 powered / Boot VHD

MAJ: Wireshark 1.2.4 corrige le problème ci-dessous, ainsi qu’un autre bug sur sur les RTP streams

Il était temps de réinstaller mon pc fixe. Après de bon services sous Vista (enfin autant que possible avec Vista ;) j’ai décidé qu’une réinstalle s’imposait. J’ai longuement hésité entre Windows 7 et Windows Server 2008 R2. Ce dernier permet d’économiser une VM, et surtout d’avoir cet OS sous la main pour faire certains tests. Ayant cependant investi dans VMware Workstation (~48 VM), Hyper-V n’est pas critique.
Ce qui m’a fait hésité, et finalement choisir Windows 7, sont ces petites applications auxquelles j’ai pris goût et qui ne fonctionnent pas sur un 2008 R2 par faute de licence. Je pense notamment à Mozy et mon antivirus nod32. Ces deux produits ont une version pro/serveur et bloquent donc la version end user/home sur un OS serveur.
Microsoft offrait une licence Windows 7 ultimate à tous les inscrits TechED à Berlin, ce qui ne gâche rien.

Je n’avais pas encore eu l’occasion de tester Windows 7 sur un pc fixe, ou du moins ayant 2 écrans. Quelle joie de pouvoir enfin nativement basculer une fenêtre d’un écran à l’autre avec Win + Shift + flèche gauche/droite!
J’utilisais avant Display Fusion sous Vista, mais je préfère éviter un résident de plus.

Pour l’instant, le seul soucis que j’ai rencontré concerne Wireshark. J’ai bien installé la dernière version en 64 bit, qui marche par ailleurs très bien sur 2008 R2 sur mon Macbook Air:

wireshark

Cela vient en faire du pilote de ma carte réseau Yukon Marvell. J’ai du faire un rollback sur le pilote afin de revenir à une version antérieure. C’est pas de chance, sous Vista j’avais dû mettre à jour au contraire le pilote pour fixer une fuite de handle. Un bug est déjà ouvert par d’autres personnes sur le bugzilla de wireshark

Dans un autre post j’expliquerai comment booter Windows Server 2008 R2 via un simple fichier VHD, ce qui me permettra de tester Hyper-V sans toucher à Windows 7

Popularity: 11% [?]

TechED Berlin: jour 1

Comme prévu, il y a beaucoup de monde, mais très peu de français…

File d’attente pour l’enregistrement:
TechED Berlin Hall

TechED Berlin Hall

Commnet:

TechED Berlin Comm'net

Popularity: 8% [?]

KMS sur Windows 2003: slmgr.vbs(333, 5) (null): erreur dans la DLL

Venant d’installer KMS sur un DC 2003 chez un client, le setup annonce qu’un redémarrage est nécessaire.
J’ai d’abord pensé à un excès de prudence, et j’ai donc tenté ma chance sans redémarrer. Pas de chance, message d’erreur bizarre:

kms

Suite au redémarrage du DC, plus de problème!


Popularity: 5% [?]

Windows Server 2008 R2 sur mon MacBook Air!

Ce post fait suite à mon billet précédent « J’ai un Mac…C’est grave docteur ?« .
J’avais installé Windows 7 RC, qui marchait très bien. Cependant, j’avais besoin de faire tourner un Windows Server 2008 R2 avec hyper-V.
Ce dernier ne peut pas être exécuté dans une VM. J’ai donc décidé d’installer Windows Server 2008 R2 sur mon MacBook Air.
La procédure est simple mais il y a un évènement à ne surtout pas rater… here we go:

  • Copier le dossier Bootcamp du DVD MacOS X sur une clé USB, ceci va être critique pour plus tard !
  • démarrer sous MacOS X. Dégager la partition Windows, et en créer une nouvelle (via le menu BootCamp).
  • démarrer sur le DVD Windows Server 2008 R2. Faire le setup de manière classique.
  • au premier boot de Windows, il faut installer les pilotes bootcamp (le msi directement) sur le champ.
    Si vous redémarrer sans le faire, vous ne pourrez pas faire ctrl + alt + supr, et donc ouvrir une session.
    J’ai dû brancher un clavier usb pour pouvoir le faire!

Il ne reste plus ensuite qu’à redonner l’apparence d’un poste de travail à Windows Server 2008 R2, via powershell:

import-module servermanager
Add-WindowsFeature Desktop-Experience
Add-WindowsFeature Wireless-Networking
Add-WindowsFeature Net-Framework
Add-WindowsFeature Telnet-Client
Set-Service -name Themes -startuptype Automatic
shutdown /r /t 15 /c "reboot pour prise en compte du service themes"

Il ne reste plus qu’à activer le thème Windows 7 pour retrouver Aero.

L’installation d’Hyper-V bloque la mise en veille du portable:
Sleep and hibernate power features are not available when you enable Hyper-V technology on a Windows Server 2008-based portable computer

J’ai donc crée un boot par défaut sans hyper-V via bcdedit:

bcdedit /copy {current} /d "Microsoft Windows Server 2008 - sans hypervisor"
bcdedit /set {identifiant de la commande précédente} hypervisorlaunchtype off /default

Popularity: 10% [?]

Tutoriel lotp: VMware Workstation – Windows Server 2008R2 en cluster

Je viens de faire un tutoriel sur la mise en oeuvre d’un cluster Windows Server 2008 R2 dans VMware Workstation.
La partie sensible est la réservation persistante scsi-3 impérative depuis Windows Server 2008.

J’ai poste le tutoriel sur screencast: http://www.screencast.com/t/R7ndyktfNXk
vmware workstation 2008R2 cluster

pour les adeptes de Youtube, je l’ai posté aussi (mais qualité inférieure):

Popularity: 30% [?]

TechED 2009: j’y serai…et vous ?

Les inscriptions sont encore ouvertes, mais le temps presse!

Je suis entrain de construire mon agenda de la semaine :)

TechED 2009 Berlin
TechED 2009 Berlin

Popularity: 3% [?]

Windows Server 2008 R2 Core: windows update récalcitrant!

en voulant configurer un Windows Server 2008 R2 afin de télécharger les mises à jour, j’ai eu droit au message d’erreur suivant:

cscript c:\windows\system32\scregedit.wsf /AU 4
Scregedit.wsf(777, 3) (null): 0x80240037

un procmon plus tard, j’ai supprimé la clé suivante (pour le moins « étrange », le serveur étant en workgroup):

HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate

Et voilà !

Popularity: 5% [?]

Tips and tricks du moment

Voici quelques commandes que j’ai utilisé cette semaine…Puisque cela m’a aidé, peut être que cela vous aidera aussi !

Besoin: connaître les utilisateurs qui n’utilisent pas le mode mise en cache de outlook.
Solution: Exchange 2007 possède un cmdlet PowerShell qui correspond tout à fait:

Get-LogonStatistics -server MonServeurExchange | where {$_.ClientMode -eq "Classic"} |FL ClientName

Besoin: Collecter les adresses IP assignées aux serveurs.
Solution:

  • Créer un fichier texte contenant un nom de serveur par ligne, par exemple en récupérant tous les objets AD ayant pour OS « Windows Servers » via adfind
  • Utiliser PowerShell + psexec pour récupérer le résultat de ipconfig /all sur chaque serveur

Le « script » powershell est le suivant:

———————————————————————————————-

get-content servers.txt | foreach-object {
$server=$_
$ip=.\psexec \\$server ipconfig /all| where { $_ -match "IP Address"} | %{$_  -replace "IP Address. . . . . . . . . . . . : ","$server;"}
Write-Output $ip >> servers_ipconfig.txt
}
———————————————————————————————-
Cette méthode, bien que très basique a certains avantages:
  • On récupère les informations en « live » sans reposer sur des relevés pouvant être obsolètes
  • Tout es ramassé, IP via NLB, carte réseau privée (heartbeat…), ip d’un tunnel VPN…
  • psexec permet de spécifier un login/pass quand on est hors domaine
  • Elle ne nécessite aucun agent sur les serveurs (SCCM, Altiris…)
Elle a au moins un inconvénient, il faut adapter la chaîne  de caractère « IP Address » à la langue de vos systèmes d’exploitation.
Si vous êtes allergiques à PowerShell, où qu’il n’est pas disponible depuis votre environnement, une variante en MSDOS:
for /f %s in (servers.txt) do echo %s >>ipall.txt && psexec \\%s ipconfig /all | findstr "Address" | findstr "IP" >> ipall.txt

Popularity: 4% [?]

Lenteurs SharePoint 2007

J’ai été récemment confronté par deux fois à d’importantes lenteurs sous SharePoint 2007:

  • Lors du premier appel suite à recyclage de l’application pool: 2 minutes pour avoir la page
  • Lors de la recherche d’une personne dans l’AD : au moins 30 secondes

2 minutes lors du premier appel

IIS essaye de contacter crl.microsoft.com en http, mais n’y arrive pas. Ceci afin de vérifier la signature des assembly dans le GAC .Net. Les symptômes ainsi que des solutions sont proposées sur ce blog:

http://www.muhimbi.com/blog/2009/04/new-approach-to-solve-sharepoints.html

J’ai choisi la méthode suivante:

Et voilà, on passe à environ 20 secondes, ce qui est « normal » dans la mesure où il doit compiler. Vous pouvez aller encore plus loin en:

  • changeant l’heure par défaut de recyclage de l’application pool
  • Utiliser SPWakeUp, pour « chauffer » le moteur SharePoint en appelant chaque site

Recherche dans l’AD : au moins 30 secondes

Symptômes: vous essayez d’autoriser un utilisateur, un groupe, ou juste assigner une tâche à quelqu’un, cela prends au moins 30 secondes au lieu d’une seconde en général. Je parle ici du temps entre le moment où l’on clique sur la recherche et le moment où le nom est souligné (donc validé).

Analyse du problème: dans mon cas, en traçant l’activité réseau du serveur, on se rend compte qu’il essaye de contacter en vain des contrôleurs de domaines d’une autre forêt en vain au même moment à plusieurs reprise. Cette tentative de connexion est dûe à l’ajout d’une autre forêt via stsadm pour la propriété peoplepicker. Par défaut, SharePoint ne cherche des utilisateurs que dans le domaine où il est. Pour étendre la recherche à d’autre domaines/forêt, il faut les ajouter avec cette commande:
stsadm -o setproperty -url http://SharePointSite:85 -pn peoplepicker-searchadforests –pv “domain1.com”,<loginname1>,<password1>;”domain2.com”,<loginname2>,<password2>

S’il y a une relation d’approbation entre les forêts, il n’y a pas besoin de spécifier un login et un mot de passe.

Voici un post plus détaillé sur le sujet: http://www.gk.id.au/2009/04/people-picker-sharepoint-and-forest.html

Solution: Autoriser les serveurs SharePoint à se connecter aux contrôleurs de domaines de la forêt ciblée. Le port à ouvrir est ldap (389) à la fois en TCP et UDP.

Et voilà, la recherche prend de nouveau environ une seconde et on peut maintenant aussi chercher des utilisateurs de l’autre forêt!

Popularity: 5% [?]

MDM 2008: plus complexe que de prime abord

Comme de plus en plus de produits Microsoft (et autres éditeurs), les solutions tendent à être de plus en plus complexe. Il a beau faire partie de la gamme « System Center » de Microsoft, il quelques singularités auxquelles je me suis frotté récemment. Installé avant mon arrivé, on a souhaité déplacer les bases de données associées au produit d’un serveur SQL à un autre.

1er challenge: où est stocké le nom du serveur SQL ?

Recherche dans la base de registre (comme SCOM) ? rien
Recherche dans les fichiers dans le répertoire d’installation ? rien
Il stocke l’information dans Active Directory (un SCP / Service Connection Point). Un petit coup d’adsiedit plus tard, il pointe sur le nouveau serveur SQL
Ce point est évoqué dans un article Technet lors de la restauration des bases

2ème challenge: SQL

L’équipe du produit utilise pleinement SQL Server, notamment:

  • L’encryption des données via la clé de l’instance (Service Master Key)
  • Job via l’agent SQL

Cela me semble assez « riche » pour ce type de solutions, mais bon… Vous l’avez compris, il faut sauvegarder et restaurer la clé d’encryption de l’instance de l’ancien serveur SQL…

Pour rappel, les bases SQL pour MDM portent les noms suivants:

  • AdminServices
  • MobileEnrollment
  • TEEDB
  • SUSDB

La documentation Microsoft du produit: http://technet.microsoft.com/en-us/scmdm/cc304592.aspx

Popularity: 3% [?]

BGI info: l’erreur avec succès sans succès…

Je n’avais pas utilisé bginfo de sysinternals depuis quelques temps. Comme d’hab, je mets un fond avec notamment le logo de l’entreprise, et là surprise au moment de l’enregistrement:
bginfo
(Error saving settings to registry: The operation completed sucessfully)

Pour les non anglophones, il y a donc une erreur à l’enregistrement dans la base de registre, mais l’opération à réussi…Surprenant hein ?
Evidemment, grosse déception, point de fichier bgi…

Contexte:

  • Windows Vista SP1 32 bit
  • dernier bginfo (4.15)
  • Avec et sans élévation de privilège (comment ça tout de suite on accuse UAC?)

Que faire quand un outil sysinternal échoue ? Utiliser un autre outil Sysinternal pour diagnostiquer !
Process monitor
montre notamment une erreur pour « ressource insuffisante« :

bginfo_processmonitor

Process explorer montre que le système est utilisé et manque un peu de ressource (quoi que, encore 742Mo de ram disponible tout de suite)
procexp

J’essaye sur ma station avec 8Go de ram, idem…Windows XP: idem!

Finalement, j’ai réduit et importé de nouveau l’image, fonctionne nickel.

Je me suis permis un petit mail à Mark Russinovich…Retour une heure plus tard:

« Thanks for the bug report, Mathieu. It looks like Bginfo was trying to write 7MB to the registry.« 

Popularity: 4% [?]