PI Services

Le blog des collaborateurs de PI Services

Contrôle à distance de Sharepoint via Powershell

Introduction

L'une des forces de Powershell est de pouvoir administrer des produits directement depuis un poste client sans avoir à installer des outils d'administration. Hormis dans certains cas particuliers comme Exchange Online, il n'est pas non plus nécessaire d'ajouter des modules ou snapin Powershell sur notre ordinateur. Ceux-ci sont déjà présents sur le serveur distant, il est donc possible de les réutiliser. Dans cet article nous verrons le cas de Sharepoint pour lequel j'ai rencontré une petite subtilité.

Connexion à distance

Tout d'abord nous allons initier une nouvelle PSSession. Pour rappel, ce sont elles qui nous permettent d'interagir avec un serveur à distance. Elles ont été introduites à partir de Powershell v2.0.

On commence par stocker les paramètres d'authentification dans une variable.

$Credential = Get-Credential

On crée une variable avec le serveur sur lequel on souhaite se connecter

$Server =  "XXXXXXXXXX"

On génère une nouvelle PSSession en spécifiant les deux paramètres précédents. Celle-ci est stocké dans une variable car nous allons la réutiliser.

$Session = New-PSSession –ComputerName $Server -Credential $Credential

Ensuite, nous allons utiliser, la Cmdlet Invoke-Command afin d'exécuter une commande dans la session distante que nous venons de créer.

Invoke-Command -ScriptBlock {$ver = $host | select version; if ($ver.Version.Major -gt 1) {$Host.Runspace.ThreadOptions = "ReuseThread"}; Add-PSSnapin Microsoft.SharePoint.PowerShell;} -Session $Session

Il est nécessaire de préciser la session sur lequel va être réalisé le bloc de commandes. Un scriptblock est exécuté. Si la version de Powershell est supérieur à 1 alors on positionne l'interpréteur pour réutilisé constamment le même thread. Ceci est une configuration obligatoire si l'on souhaite ajouter le snapin Sharepoint. Nous pouvons le retrouver dans le fichier “sharepoint.ps1” qui est lancé par le Sharepoint Management Shell.

Enfin nous pouvons importer la session. Avec cette méthode l'intégralité des commandes sera utilisable directement depuis le poste client.

Import-PSSession $Session -AllowClobber

Erreur rencontrée

Lorsque l'on effectue une connexion a distance il se peut que l'on obtienne l'erreur suivante :

Import-PSSession : L’exécution de la commande Get-Command dans la session à distance a signalé l’erreur suivante: Le traitement de données pour une commande distante
a échoué avec le message d'erreur suivant: <f:WSManFault xmlns:f="
http://schemas.microsoft.com/wbem/wsman/1/wsmanfault" Code="3762507597"
Machine="XXXXXXXXXXXXXXXXXXX"><f:Message><f:ProviderFault provider="microsoft.powershell"
path="C:\Windows\system32\pwrshplugin.dll"></f:ProviderFault></f:Message></f:WSManFault> Pour plus d'informations, voir la rubrique d'aide
about_Remote_Troubleshooting...

Cette dernière signifie qu'il n'y a pas assez de mémoire disponible pour charger les commandes. En effet, les commandes Sharepoint sont très consommatrice en mémoire. Bien entendu, il existe un paramétrage pour pallier à ce problème.

Paramétrage serveur

Afin de corriger cette erreur, il faut augmenter la quantité de mémoire maximum allouée pour un shell distant. Il est recommandé pour Sharepoint de définir cette valeur à 1000 MB.

Pour réaliser cette étape il suffit de modifier la valeur MaxMemoryPerShellMB via le provider WSMan permetant d'accéder à la configuration des connexions distantes. Par défaut la valeur est à 100 MB.

Set-Item WSMan:\localhost\Shell\MaxMemoryPerShellMB 1000

SCOM 2012 :Mise a jour MP Windows OS

 

Un management pack majeur, celui des OS Windows serveur, est passé en version 6.0.7026.0.

Cette mise a jour est disponible sur le lien http://www.microsoft.com/en-us/download/details.aspx?id=9296

Au menu:

  • Correction d’un bug empêchant parfois la collecte des compteurs de performance Processeur.
  • Ajout des règles de collecte de performance suivante:
  •        - Cluster Shared Volume - Free space / MB           
          - Cluster Shared Volume - Total size / MB           
          - Cluster Shared Volume - Free space / %           
          - Cluster Disk - Total size / MB           
          - Cluster Disk - Free space / MB           
          - Cluster Disk - Free space / %

 

  • Correction d’un bug empêchant la découverte des disques de cluster Windows 2008.
  • Correction d’un bug affichant une mauvaise decription d’alerte pour les moniteurs “Cluster Disk Free Space Percent” et “Cluster Disk Free Space MB” quand le nom du volume du disque de cluster est vide.
  • Ajout d’une règle générant une alerte lorsque les requêtes NTLM vers un serveurs dépasse un certain seuil.
  •  

SCOM – Erreur lors de l’Installation sur disques clusters

 

Lors de l’installation du premier serveur de management SCOM et des bases SQL sur un cluster, le popup d’erreur générique suivant peut apparaitre…:

“Setup is unable to create DB on SQL server_____. PLease make sure that the curret user has permissions to create DB on the SQL Server instance specified.”

.…et le message d’erreur suivant est susceptible d’être enregistré dans le log OpsMgrSetupWizard.log:

*********************************

Cannot use file (…)\SCOMINSTALLTESTDB_635031752016683857.mdf' for clustered server. Only formatted files on which the cluster resource of the server has a dependency can be used. Either the disk resource containing the file is not present in the cluster group or the cluster resource of the Sql Server does not have a dependency on it.

***********************************

Ce message fait référence a un problème documenté dans la KB suivante:

http://support.microsoft.com/kb/295732/en-us

En effet il est nécessaire que le/les volumes devant accueillir les bases SQL soient enregistré comme dépendance de la ressource cluster.

Vous pouvez vérifier les liens de dépendances de la ressource en effectuant un clic-droit sur la ressource SQL dans la console de gestion de cluster et en sélectionnant “Show Dependency Report

Pour rajouter le/les disques cibles en tant que dépendance de la ressource de cluster:

    • Ouvrez la console de gestion du cluster, faites un clic-droit sur la ressource SQL et sélectionner …Bring this ressource Offline
    • faites un clic-droit sur la ressource SQL Server, puis cliquez sur Propriétés.
    • Cliquez sur l'onglet dépendances . .
    • Cliquez sur Modifier pour ajouter le disque à la liste de dépendances pour cette ressource.
    • faites un clic-droit sur la ressource SQL et sélectionner …Bring this ressource Online
    Relancer l’installation de SCOM.