Le blog technique

Toutes les astuces #tech des collaborateurs de PI Services.

#openblogPI

Retrouvez les articles à la une

Lync2010 – Déploiement de Lync Server 2010 dans une forêt distante (retour d’expérience)

Introduction

Dans le cadre d’un POC (proof of concept) ou bien tout simplement dans le cadre d’un rapprochement entre deux sociétés (fusion / acquisition), il peut être nécessaire de déployer Lync Server 2010 dans une forêt distante.

S’il s’agit d’un POC, l’intérêt de monter une forêt dédiée à Lync 2010 est généralement de ne pas impacter l’environnement de production (Lync nécessitant une extension du schéma Active Directory) et donc de permettre un retrait / une désinstallation facile de Lync dans l’hypothèse où le produit ne serait pas retenu à l’issue de la phase de test.

S’il s’agit d’une fusion entre deux sociétés ou tout simplement d’une société disposant de plusieurs forêts (reliées entre elles par le biais de relations d’approbation) on déploie généralement Lync dans une seule forêt (la forêt “principale” ou bien la forêt de ressources le cas échéant) pour éviter de multiplier les serveurs.

Quel que soit le cas de figure, à un moment donné l’administrateur se retrouve contraint de donner un accès à des serveurs Lync dans une forêt B sur ses utilisateurs de la forêt A.

Ce billet a pour but de lister l’ensemble des contraintes et actions à prendre en compte dans un tel scénario.

Points à prendre en compte

Les points à prendre en considération (par rapport à un déploiement de Lync en environnement mono-forêt et mono-domaine) sont les suivants :

  • Une relation d’approbation (de type inter forêt) doit exister entre les deux forêts
  • Les comptes utilisateurs de la forêt A doivent être provisionnés dans la forêt B par le biais d’un outil tél qu’ADMT (si la population est réduite) ou bien via un outil de synchronisation de compte tel que FIM (si l’environnement est de plus grande taille)
  • L’outil de provisionnement des comptes doit migrer l’attribut SID du compte source dans l’attribut SIDHistory des comptes cible. Il est conseillé de désactiver les comptes présents dans la forêt cible pour des raisons de sécurité (de la même manière que pour une boîte aux lettres Exchange 2010 de type “linked”)
  • Un script doit ensuite être développé pour copier le SID source dans l’attribut msRTCSIP-OriginatorSid du compte utilisateur
  • Les certificats utilisés sur les serveurs frontaux et Edge Lync 2010 devront être émis par une infrastructure PKI reconnue comme de confiance par les clients des deux forêts

L’intégration du composant Lync au Webmail Exchange 2010 est possible quelle que soit la forêt dans laquelle est déployée Exchange. Si la messagerie Exchange 2010 est déployée dans une forêt distincte de celle de Lync alors les adresses SIP devront être ajoutées manuellement (ou pas script) sur les boîtes aux lettres.

N.B. : Le déploiement de Lync 2010 dans une forêt distante n’a pas d’impact particulier sur le déploiement des services de Mobilité Lync 2010.

Préparation et déploiement d’un VHD contenant une image de référence dans Hyper-V3 en powershell

Dans ce blog, nous allons voir comment préparer un VHD étapes par étapes en appliquant notre image de référence Windows 8 pour un serveur sous Hyper-v.

Il est intéressant de connaitre les cmdlets sous Powershell étant donné que l’utilisation de Diskpart est maintenant dépréciée.

Notre serveur Hyper-v ne détient actuellement aucune machine.

clip_image002

Nous définissons dans une variable le nom qu’aura notre VM dans Hyper-v

$NameVm="Demo"

Nous définissons dans une variable l’emplacement et le nom qu’aura notre VHD créé

$PathVM="C:\VHD\$NameVM.vhdx"

Nous créons maintenant notre VHD à l’aide de la cmdlet " new-vm " qui créera directement la VM dans Hyper-v .

new-vm -Name $NameVm -MemoryStartupBytes 1024MB -NewVHDPath $PathVM -NewVHDSizeBytes 10000MB

Le résultat :

clip_image003

clip_image004

clip_image005

Il est maintenant nécessaire que nous montions notre VHD pour le préparer (partionnement, boot,..)

Mount-VHD $PathVM

En utilisant maintenant la cmdlet "Get-disk" nous pouvons vérifier que notre VHD à correctement été monté.

clip_image007

Notre VHD n’ayant pas encore été partitionné, il apparait sous le style de partition raw. Nous allons maintenant récupérer le numéro de partition de ce VHD grâce au « Friendly Name » et au « Partition Style »

$numero=(get-disk | Where-Object {$_.friendlyname -match "virtual" -and $_.partitionstyle -match "raw"}).number

Il faut maintenant initialisé le VHD afin de pouvoir formater celui-ci et y stocker des données.

Initialize-Disk $numero -PartitionStyle mbr

get-disk $numero

clip_image009

Le disque a bien été initialisé.

Nous allons maintenant partitionner ce VHD en NTFS

$Label="Demo"

New-Partition $numero -UseMaximumSize -AssignDriveLetter | Format-Volume -NewFileSystemLabel $label -FileSystem NTFS –asjob

Nous ne connaissons pas la lettre de volume qui lui a été alloué. Pour cela, on peut consulter tous les volumes à l’aide de la cmdlet :

Get-volume

clip_image011

Nous allons maintenant récupérer notre volume par l’identifiant de notre label précédemment définit.

$vol=(Get-Volume | Where-Object {$_.filesystemlabel -match $label}).driveletter

$vol1=$vol+":"

Et maintenant nous appliquons notre master de référence sous l’extension WIM avec DISM.

dism /apply-image /imagefile:C:\Users\administrateur\Desktop\Master_8.wim /index:1 /applydir:$vol1

clip_image012

On définit maintenant la partition comme étant active pour que celle-ci puisse booter depuis un OS.

Set-Partition -DriveLetter $vol -IsActive $true

Et maintenant nous allons configurer notre magasin BCD en lui ajoutant l’entrée de notre nouveau disque VHD.

$vol2=$vol1+"\Windows"

bcdboot $vol2 /s $vol1

clip_image013

Nous pouvons maintenant démonter notre VHD puis démarrer notre VM.

Dismount-VHD $PathVM

Start-VM $NameVm

Maintenant si nous revenons sur la console Hyper-v, nous pouvons constater que notre VM a bien démarrer et que notre master de référence Works !!

clip_image015

Il suffit maintenant d’imaginer un déploiement de master de référence à plus grande échelle pour une phase de recette par exemple.

Pour cela, il suffit d’effectuer une boucle dans un script avec toute les cmdlets et cela se déploiera au sein de Hyper-v de façon automatisé.

Exécution des tâches relatives à SharePoint

 

L’administration, l’exploitation ou l’exécution de toutes les tâches relatives à SharePoint peuvent être réalisées à partir de différents outils selon la version de SharePoint déployée sur la plateforme :

– La console d’administration centrale

– L’outil stsadm.exe

– L’outil SharePoint 2010 Management Shell (disponible depuis la version SharePoint 2010)

Plateformes MOSS 2007

1. Console d’administration centrale

Cette console est simple puisque elle offre l’aspect visuel des actions.

L’accès à la console d’administration centrale se fait à partir du chemin suivant :

All Programs-> Microsoft Office Server -> SharePoint 3.0 Central Administration

Néanmoins plusieurs actions sont indisponibles à partir de cette console. C’est pour cette raison que Microsoft a mis à disposition l’outil de ligne de commande: stsadm.exe

2. Stsadm.exe

Cet outil est disponible en suivant le chemin suivant : C:\Programs files\Common Files\Microsoft shared\web server extension\12\BIN

L’exécution de cette commande se fait à partir d’une fenêtre cmd ou powershell.exe en se plaçant dans le répertoire C:\Programs files\Common Files\Microsoft shared\web server extension\12\BIN.

Il existe 182 commandes possibles avec l’outil stsadm.exe

Les tâches réalisées à partir de stsadm doivent être exécutées avec le compte administrateur local du serveur, autrement, le résultat d’exécution retourne une erreur « Accès refusé ».

L’avantage de cet outil réside dans le fait de pouvoir programmer l’exécution des actions en utilisant les tâches planifiées du serveur.

Par exemple la planification d’une sauvegarde :

– Réalisation des scripts contenant la commande stsadm –o backup

Il est possible utiliser l’outil de scripting Powershell.exe. Dans ce script, le chemin vers la commande stsadm.exe doit être renseigné.

– Création d’une tâche planifiée qui permet de lancer le script crée.

Important: cocher la case « Run with highest privileges ».

Cet outil de ligne de commande reste tout de même limité par rapport à l’outil SharePoint 2010 Management Shell disponible depuis la version SharePoint 2010.

Plateforme SharePoint 2010

1. Console d’administration Centrale

Cette console est accessible à partir de : Programs > Microsoft SharePoint 2010 Products > SharePoint 2010 Central Administration

La console d’administration de SharePoint 2010 est plus ergonomique que la console d’administration de MOSS 2007.

Cette dernière offre plus d’actions à réaliser en mode graphique.

Mais reste néanmoins moins riche que l’outil de ligne de commande SharePoint 2010 Management Shell.

2. Stsadm.exe : l’utilisation de cet outil reste possible mais est déconseillée.

Cet outil est accessible à partir de C:\Program Files\Common Files\Microsoft shared\web server extensions\14\BIN

Cet outil doit être exécuté à partir d’un serveur SharePoint

3. SharePoint 2010 Management Shell

Cet outil se trouve dans : Programs > Microsoft SharePoint 2010 Products > SharePoint 2010 Management Shell.

Cette console est une console personnalisée dédiée à SharePoint et différente de la console Windows PowerShell par défaut qui au moment de son exécution charge le script Sharepoint.ps1 permettant d’utiliser la console PowerShell avec les cmdlets propres à SharePoint

Il existe plus de 600 Cmdlets propre à SharePoint.

Remarque: Windows PowerShell 2.0 est requis.

4. Powershell.exe

Il est possible d’utiliser l’outil Powershell.exe pour exécuter les cmdlets SharePoint, pour cela il faut obligatoirement :

Ajouter le composant « Microsoft.SharePoint.PowerShell » en procédant comme suit :

Add-PSSnapin Microsoft.SharePoint.PowerShell

Il est bien evidement possible de planifier l’exécution des cmdlets powershell par tâche planifiée

Remarque : Que ce soit l’utilisation de la console SharePoint 2010 Management Shell ou la console PowerShell, il faut respecter la configuration minimale requise pour exécuter les cmdlets SharePoint :

– Etre membre du rôle SharePoint_Shell_Access ou du groupe local WSS_Admin_WPG

Sinon utiliser la cmdlets suivante « Add-SPShellAdmin » qui permet :

– d’ajouter l’utilisateur au groupe WSS_Admin_WPG dans tous les serveurs web frontaux

-D’ajouter l’utilisateur au rôle SharePoint_Shell_Access. Dans le cas où les bases de données ne possedent pas ce rôle , ce dernier est crée automatquement à l’aide cette commande.

Après exécution de la cmdlets Add-SPShellAdmin, il est possible d’exécuter les cmdlets SharePoint.

L’utilisateur exécutant la cmdlet Add-SPShellAdmin doit posséder les autorisations suivantes :

o Accès au rôle de serveur Securityadmin sur l’instance SQL et rôle db_owner dans une base de données.

o Autorisation administrative sur l’ordinateur local.

 

Remarque : l’utilisateur qui utilisera la cmdlet Add-SPShellAdmin doit être le compte utilisateur qui a exécuté le programme d’installation

Il faut exécuter la cmdlet Add-SPShellAdmin pour toutes les bases de données auxquelles vous voulez accorder l’accès. Si aucune base de données n’est spécifiée, la base de données de configuration de la batterie de serveurs est utilisée. Si vous spécifiez une base de données, la base de données de contenu de la batterie sera incluse en plus de la base de données de configuration de la batterie que vous spécifiez.