Le blog technique

Toutes les astuces #tech des collaborateurs de PI Services.

#openblogPI

Retrouvez les articles à la une

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.

Migration des comptes utilisateurs dans SharePoint

 

Une plateforme SharePoint utilise l’Active Directory de l’entreprise pour l’authentification des utilisateurs. Lorsqu’on se retrouve dans le cas d’une migration d’un domaine AD à un autre, nous somme dans l’obligation de réaliser une migration des comptes utilisateurs afin que chaque utilisateur puisse s’authentifier et conserver ses droits et ses autorisations sur la plateforme SharePoint.

Cette étape de migration doit obligatoirement suivre la migration des comptes utilisateurs au niveau de l’AD.

Commande de migration :

Stsadm –o migrateuser –oldlogin –newlogin -ignoresidhistory

  • oldogin represente le nouveau login de l’utilisateur : anciendomaine\user
  • newlogin represente l’ancien login utilisateur : nouveaudomaine\user
  • Le paramétre ignorersidhistory lorsque ce dernier n’est pas renseigné ou porte la valeur « False », les métadonnées d’historique SID du nouvel utilisateur sont vérifiées pour savoir si elles correspondent au nom de l’ancien utilisateur. Si le paramètre ignoresidhistory est renseigné, la vérification des métadonnées n’est pas effectuée.
    Pour rappel :

SIDHistory signifie " historique des identifiants de sécurités ".Cette fonction permet de conserver temporairement le SID (Security IDentifier) de l’ancien domaine. La conservation de cet identifiant permet de préserver l’accès des utilisateurs à leurs ressources habituelles malgré l’utilisation d’un nouveau compte utilisateur dans un nouveau domaine de sécurité. Ceci permet donc de pourvoir migrer les différentes ressources du domaine A vers le domaine B par étape sans avoir un impact sur l’utilisateur.

Il peut arriver aussi que des autorisations soient attribuées aux groupes Active Directory sur la plateforme SharePoint, Afin que les utilisateurs appartenant à ces groupes puissent conserver leurs autorisations hérités des groupes parents. Ces groupes doivent aussi être migrés dans SharePoint.

Comme pour le cas de la migration des utilisateurs cette dernière doit suivre la migration des groupes dans l’AD.

Il faut aussi que cette migration soit effectuée après la migration des utilisateurs dans l’AD.

Commande de migration :

Stsadm –o migrategroup –oldlogin –newlogin

Cette commande de migration est disponible depuis les cumulatives updates Aout 2009.