MEN IN CLOUD
29mar/15Off

SCOM 2012 R2 : disponibilité du MP pour Dynamics CRM 2015

Posted by JF BERENGUER

Le management pack System Center Operations manager pour Microsoft Dynamics CRM 2015 est disponible

En plus de la supervision de la plate-forme Dynamics CRM 2015, ce MP prend aussi en charge Microsoft Dynamics CRM 2015 E-mail Router et Microsoft Dynamics CRM 2015 Reporting Extensions.

Fonctionnalités

  • Monitoring de la disponibilité et de l’état de santé des composants suivants :
    • Microsoft Dynamics CRM Server 2015
    • Microsoft Dynamics CRM 2015 E-mail Router
    • Microsoft Dynamics CRM 2015 Reporting Extensions
  • Monitoring de la disponibilité et de l’état de santé des services:
    • Microsoft Dynamics CRM Asynchronous Processing Service
    • Microsoft Dynamics CRM Asynchronous Processing Service (maintenance)
    • Microsoft Dynamics CRM Sandbox Processing Service
    • Microsoft Dynamics CRM E-mail Router Service
    • Microsoft Dynamics CRM Unzip Service
    • World Wide Web Publishing Service
    • Indexing Service
  • Monitoring de la disponibilité et de l’état de santé des fonctionnalités:
    • Operability of ISV plug-ins
    • Web application requests processing, SOAP exceptions, and unexpected failures
  • Monitoring des performances des composants :
    • Web application requests processing
    • Database query processing
  • Monitoring des configurations.

Disponible en téléchargement ici : http://www.microsoft.com/en-us/download/details.aspx?id=46371

 

22mar/15Off

SCOM 2012 R2 : comment exporter les overrides dans un fichier CSV, XML ou HTML

Posted by JF BERENGUER

Nous avons tous besoin de trouver un moyen de documenter de quelle manière notre environnement System Center Operations Manager est configuré. Il peut être aisé d’exporter les managements packs dans Excel avec MPViewer, mais une des premières questions que l’on se pose lorsqu’on doit faire évoluer une plate-forme (il en reste encore un bon nombre en version 2007 R2), ou lorsqu’on souhaite identifier les changements effectués ces derniers mois, est : quels sont les overrides qui ont été configurés ?

Le script ci-dessous, permet de collecter ces informations et de les rendre accessibles via un fichier csv, xml ou html. Seul pré-requis : que les règles de bonnes pratique aient été respectées, à savoir créer un MP dédié pour les overrides de chaque MP et les suffixer de la même manière (par exemple avec le nom de l’entreprise).

Pour que le script ci-dessous fonctionne, il suffit de modifier les variables :

  • « Path » pour indiquer le chemin du fichier qui sera généré
  • « Suffix » pour préciser le suffixe des MPs contenant les overrides
  • « Yes » ou « No » pour les formats d’export

 

#===================================================================================

# AUTHOR:    Dieter Wijckmans (Dieter - Wijckmans - inovativ - be)

# DATE:             03/08/2012

# Name:             Export-Overrides2012.PS1

# Version:   1.2

#

# MODIFIED BY: Martin Ehrnst (m a r t i n - e h r n s t - n o)

# MODIFY DATE: 18/03/2015

#

# COMMENT:   Export all your overrides to a CSV, XML & HTML files to keep for your reference.

#                   Based on script of Daniele Muscetta and Pete Zerger

#                   http://www.systemcentercentral.com/BlogDetails/tabid/143/IndexID/78323/Default.aspx

#

#

# Usage:     Change your Management pack suffix, export location and Export types YES/NO.

#           Run script manually or with you favorite automation tool

#

#=======================================================================================

 

#############################################################

################# CONFIGURATION AREA ########################

#Set export location

$locationroot = "PATH"

#Define your Overrides suffix

$MPSuffix = "SUFFIX"

#export methods

$CSV = "NO" #CSV export to use in excel etc.

$HTML = "YES" #HTML for easier readability

$XML = "YES" #enable if you want to import back to OpsMgr

################ END CONFIGURATION AREA ######################

##############################################################

 

#HTML OUTPUT STYLING

$Header = @"

<style>

TABLE {border-width: 1px;border-style: solid;border-color: black;border-collapse: collapse;}

TH {border-width: 1px;padding: 3px;border-style: solid;border-color: black;background-color: #6495ED;}

TD {border-width: 1px;padding: 3px;border-style: solid;border-color: black;}

TR:Nth-Child(Even) {Background-Color: #dddddd;}

TR:Hover TD {Background-Color: #C1D5F8;}

</style>

"@

 

##This will read out your server name. Run from a management server.

$objCompSys = Get-WmiObject win32_computersystem

$inputScomMS = $objCompSys.name

 

 

#Initializing the Ops Mgr 2012 Powershell provider#

Import-Module -Name "OperationsManager"

New-SCManagementGroupConnection -ComputerName $inputScomMS

 

#Error handling setup

$error.clear()

$erroractionpreference = "SilentlyContinue"

$thisScript = $myInvocation.MyCommand.Path

$scriptRoot = Split-Path(Resolve-Path $thisScript)

$errorLogFile = Join-Path $scriptRoot "error.log"

if (Test-Path $errorLogFile) {Remove-Item $errorLogFile -Force}

 

#Define the backup location

 

#Get date

$Backupdatetemp = Get-Date

$Backupdatetemplocal = ($Backupdatetemp).tolocaltime()

$Backupdate = $Backupdatetemplocal.ToShortDateString()

$strBackupdate = $Backupdate.ToString()

 

#Define backup location

if((test-path $locationroot) -eq $false) { mkdir $locationroot }

$locationfolder = $strbackupdate -Replace "/","-"

$location = $locationroot + $locationfolder + "\"

new-item "$location" -type directory -force

 

#Delete backup location older than 15 days

#To make sure our disk will not be cluttered with old backups we'll keep 15 days of backup locations.

$Retentionperiod = "15"

$folders = dir $locationroot

echo $folders

$now = [System.DateTime]::Now

$old = $now.AddDays("-$Retentionperiod")

 

foreach($folder in $folders)

{

if($folder.CreationTime -lt $old) { Remove-Item $folder.FullName -recurse }

}

 

#gets all UNSEALED MAnagement Packs with your defined suffix

$mps = get-SCOMmanagementpack | where {$_.Sealed -eq $false -and $_.DisplayName -like "*$MPsuffix"}

 

#loops thru them

foreach ($mp in $mps)

{

$mpname = $mp.name

Write-Host "Exporting Overrides info for Management Pack: $mpname"

 

#array to hold all overrides for this MP

$MPRows = @()

 

#Gets the actual override objects

$overrides = $mp.GetOverrides()

 

#loops thru those overrides in order to extract information from them

foreach ($override in $overrides)

{

 

#Prepares an object to hold the result

$obj = new-object System.Management.Automation.PSObject

 

#clear up variables from previous cycles.

$overrideName = $null

$overrideProperty = $null

$overrideValue = $null

$overrideContext = $null

$overrideContextInstance = $null

$overrideRuleMonitor = $null

 

# give proper values to variables for this cycle. this is what we can then output.

$overrideName = $override.Name

$overrideProperty = $override.Property

$overrideValue = $override.Value

trap { $overrideContext = ""; continue } $overrideContext = $override.Context.GetElement().DisplayName

trap { $overrideContextInstance = ""; continue } $overrideContextInstance = (Get-SCOMMonitoringObject -Id $override.ContextInstance).DisplayName

 

if ($override.Monitor -ne $null){

$overrideRuleMonitor = $override.Monitor.GetElement().DisplayName

} elseif ($override.Discovery -ne $null){

$overrideRuleMonitor = $override.Discovery.GetElement().DisplayName

} else {

$overrideRuleMonitor = $override.Rule.GetElement().DisplayName

}

 

#fills the current object with those properties

$obj = $obj | add-member -membertype NoteProperty -name overrideName -value $overrideName -passthru

$obj = $obj | add-member -membertype NoteProperty -name overrideProperty -value $overrideProperty -passthru

$obj = $obj | add-member -membertype NoteProperty -name overrideValue -value $overrideValue -passthru

$obj = $obj | add-member -membertype NoteProperty -name overrideContext -value $overrideContext -passthru

$obj = $obj | add-member -membertype NoteProperty -name overrideContextInstance -value $overrideContextInstance -passthru

$obj = $obj | add-member -membertype NoteProperty -name overrideRuleMonitor -value $overrideRuleMonitor -passthru

 

 

#adds this current override to the array

$MPRows = $MPRows + $obj

}

 

#FILE EXPORT - SEE CONFIGURATION AREA

#CSV

if ($csv -eq "YES"){

$filename = $location + $mp.name + ".csv"

$MPRows | Export-Csv $filename

}

#XML see configuration

if ($XML -eq "YES"){

Export-SCOMManagementPack -ManagementPack $mps -Path $location

}

#HTML see configuration

$filename = $location + $mp.name + ".html"

if ($HTML -eq "YES"){

$MPRows | ConvertTo-Html -Title "Overrides For $mp" -Head $Header | Out-File $filename

}

}

 

 

Ce script a été initialement publié par Daniele Muscetta et Pete Zerger, puis par Dieter Wijckmans. I s’agit ici d’une dernière version de Martin Ehrnst, publiée sur System Center Central :

http://www.systemcentercentral.com/export-opsmgr-2012-overrides-html-csv-xml/

 

17mar/15Off

PowerShell : comment retrouver les rôles FSMO

Posted by JF BERENGUER

Un petit peu de PowerShell tous les jours pour entretenir la forme, ça ne fait pas de mal…

Je vous propose ci-dessous une liste de commandes qui permet de récupérer les noms des serveurs qui détiennent les rôles FSMO d’une forêt et d’un domaine Active Directory.

Pour rappel, il existe 5 rôles.

  • Deux sont détenus au niveau de la forêt :
    • Le maître de schéma: en charge d’effectuer les mises à jour schéma (unique au sein de la forêt et par conséquent partagé par tous les domaines qui la compose)
    • Le maître d’attribution des noms de domaine: qui est responsable de la création ou de la modification des noms des domaines au sein de la forêt
  • Trois sont détenus au niveau de domaine :
    • Le maître RID: charger de la distribution des pools d’ID aux contrôleurs de domaines. Ces derniers vont ensuite puiser dans leur propre liste à chaque création d’un nouvel objet et faire la demande d’un nouveau pool si besoin
    • L’émulateur PDC: prend en charge plusieurs services dont la synchronisation horaire (par défaut il sert de serveur de référence pour le temps), les autres étant essentiellement requis si le domaine contient des systèmes antérieurs à Windows 2000
    • Le maître d’infrastructure: Lorsqu'un objet d'un domaine est référencé par un autre objet dans un autre domaine, il est représenté la référence par le GUID, le SID (pour les références aux entités de sécurité) et le nom unique de l'objet référencé. Le détenteur du rôle FSMO infrastructure est le contrôleur de domaine chargé de mettre à jour le SID et le nom unique dans une référence d'objet inter-domaines d'un objet.

 

Ainsi pour obtenir la liste des rôles FSMO au niveau de la forêt, nous ferons appel aux attributs SchemaMaster et DomainNamingMaster de l’objet ADForest via la commande :

Get-ADForest "fqdn-de-la-foret" | Format-table SchemaMaster,DomainNamingMaster

 

Nous ferons de même au niveau du domaine en faisant appel aux attributs PDCEmulator, RIDMaster et InfrastructureMaster de l’objet ADDomain via la commande :

Get- ADDomain "fqdn-du-domaine" | Format-table PDCEmulator,RIDMaster,InfrastructureMaster

 

Si on veut mettre tout cela dans un script, on utilisera les lignes suivantes :

(Get-ADForest "fqdn-du-domaine").SchemaMaster

(Get-ADForest "fqdn-du-domaine").DomainNamingMaster

(Get-ADDomain "fqdn-du-domaine").PDCEmulator

(Get-ADDomain "fqdn-du-domaine").RIDMaster

(Get-ADDomain "fqdn-du-domaine").InfrastructureMaster

 

 

 

17mar/15Off

KB3045893 – Hotfix for Data Warehouse bug in Service Manager 2012 R2 UR5

Posted by Rémy BOVI

Suite à de nombreux problèmes de synchronisation du DWH après le passage en UR5 de SCSM 2012 R2, Microsoft vient de sortir un correctif en urgence.

Le lien est ici : http://www.microsoft.com/en-in/download/confirmation.aspx?id=46368

Symptoms
After Update Rollup 5 for Microsoft System Center 2012 R2 Service Manager (SM) is installed, you may experience the following issue:

If your Data Warehouse server does not use Month-Date-Year time format, then an event “The conversion of a nvarchar data type to a datetime data type resulted in an out-of-range value” is logged in your Service Manager Data Warehouse, and the Extract job no longer runs.

Resolution (Hotfix Information)
A supported hotfix is available from Microsoft. However, this hotfix is intended to correct only the problem that is described in this article. Apply this hotfix only to systems that are experiencing the problem described in this article. This hotfix might receive additional testing. Therefore, if you are not severely affected by this problem, we recommend that you wait for the next software update that contains this hotfix.

 

11mar/15Off

SCOM 2012 : A la recherche des agents grisés

Posted by JF BERENGUER

Les agents grisés peuvent vite devenir le pire cauchemar de l’administrateur de la plate-forme System Center Operations Manager (SCOM). Ce statut indique que le service « Health » du système supervisé ne communique pas correctement avec le Management server. Normalement une alerte devrait être créée avec l’objet « Health Service Heartbeat Failure ». Il arrive que cela ne puisse pas se produire, en particulier si le système à des soucis de ressources.

Le Script ci-dessous permet de remédier à cela en créant une alerte avec la liste de tous les agents dans un état grisé, qui ne sont pas dans un mode maintenance et pour lesquels il n’y a pas d’alerte générée :

$TotalCount=0

$list=””

$agentclass = Get-SCOMClass -Name “Microsoft.SystemCenter.Agent”

# Find greyed out agents which are not in maintenance mode

$agentobjects = Get-SCOMMonitoringObject -Class:$agentclass | Where-Object {($_.IsAvailable -eq $false) -and ($_.InMaintenanceMode -eq $False)}

if ($agentobjects -is [Object])

{

$msg = “`r`nFound greyed out agents which are not in maintenance mode.”;

Log -msg $msg -debug $debug -debugLog $debugLog;

# Go through agent list

foreach ($agent in $agentobjects)

{

$msg =  “`r`n”+ $agent.displayname

Log -msg $msg -debug $debug -debugLog $debugLog;

#Go on if watcher state for the agent is unhealthy

if((Get-SCOMClass -name “Microsoft.SystemCenter.HealthServiceWatcher”| get-scomclassinstance |  Where-Object {$_.Displayname   -eq $agent.DisplayName}).HealthState -ne ‘Success’)

{

# Find open Health Service Heartbeat Failure alert for the agent

$alert=get-scomalert -name ‘Health Service Heartbeat Failure’ | where {($_.ResolutionState -ne 255) -and ($_.MonitoringObjectDisplayName -eq $agent.DisplayName)}

# No alert for greyed out agent found

if ($alert -isnot [Object])

{

$list+=”`r`n”+$agent.displayname

$msg=”`r`nThe agent “+ $agent.displayname + ” has no open Health Service Heartbeat Failure alerts. Add to list.”

Log -msg $msg -debug $debug -debugLog $debugLog;

$Totalcount++

}

}

}

}

Ce script fait partie d’un MP plus global disponible ici : https://gallery.technet.microsoft.com/SCOM-check-greyed-out-44737ffc

Crédits: Traduction de l'article de Opsmgrtipps : https://systemcentertipps.wordpress.com/2015/03/05/scom-2012-check-greyed-out-agents/

4mar/15Off

SCSM / ORCHESTRATOR TIP : Pourquoi utiliser les loops lorsqu’on met à jour un objet dans SCSM ?

Posted by Rémy BOVI

Pourquoi utiliser les loops lorsqu'on met à jour un objet dans SCSM ?

La réponse est assez simple : pour palier aux écritures concurrentes sur un même enregistrement. Effectivement il est fréquent que SCSM nous remonte le fameux (ou pas) : “The item has been changed by another user or process. Cancel your action, reopen the item and try again.”  Par exemple un utilisateur ou un workflows utilise en même temps que votre runbook le même IR ou SR.

Si jamais cette erreur ce produit dans un runbook Orchestrator vous risquez de perdre la mise à jour de l'objet ! Pas cool ...

Pour palier à ce problème, Orchestrator propose une fonctionnalité qui va permettre à l'activité de recommencer l'action de mise à jour tant qu'elle n'est pas réalisée. Cette fonctionnalité est "Lopping ..."

27fév/15Off

Operational Insight / Intune / Orchestrator / Azure Automation : Les slides des techdays sont disponibles en ligne.

Posted by Rémy BOVI

Retrouvez les sessions des techdays 2015 animées par JF BERENGUER, Nicola Bonnet et Rémy BOVI !! Elles sont disponibles en ligne sur Slideshare  :

Capture

Capture

Capture

10fév/15Off

L’UR5 de SCSM 2012 R2 est disponible

Posted by Rémy BOVI

Vous pouvez des maintenant télécharger l'UR5 de SCSM 2012 R2 : http://www.microsoft.com/en-us/download/details.aspx?id=45536

Voici la liste des corrections et améliorations :

Bug fixes included in this update:
Note: The System Center 2012 R2 Service Manager Update Rollups are cumulative, hence this UR5 contains new fixes for the following issues along with fixes shipped with System Center 2012 R2 Service Manager UR4, UR3, and UR2.

  1. Change request still stays "in progress" when last activity is skipped and all previous activities are completed.
  2. ActualStartDate and ActualEndDate field values for Change Request and Release Request do not set.
  3. Multiple System Center Service Manager Connectors to System Center Configuration Manager execute and complete successfully. However, the start, finish and status property values are not updated in the Service Manager Console under the "Connectors" view and event 3334 is logged.
  4. Trying to delete a Service Request template that is being used by a Request Offering causes a cryptic and non-user friendly error message.
  5. The "Group By" functionality in a View does not work correctly when "Group By" column has empty fields.
  6. The Console crashes when the user tries to open an already opened attachment from a Work Item form.
  7. Opening the Views for Groups takes a long if there are large number of explicit members in the groups.
  8. The OM CI connector fails if one tries to import a distributed application that contains an instance of the 'Hyper-V Virtual Network Adapter' class.
  9. Monitoring Host process crashes if there exists a Notification after the user who created it was deleted or has moved to a hidden organizational unit (OU) in the Active Directory.
  10. An exception is raised if the user tries to open a sorted View which is created by using TypeProjection on custom Class that is neither Abstract and nor a first Concrete class.
  11. An Exception is thrown when a user tries to open the "Service Components" tab on the Service Maps form, when there are large number of services in CMDB.
  12. Enhanced in event logging for DW jobs.
    Logging the batch start and completion events for all DW job categories in event log. The start and completion event will include the following:
    Process Category

    1. Process Name
    2. Batch Id
    3. Batch Start or completion Time
  13. Enhanced in event logging for DW cube processing.
    1. Time taken by Cube’s batch id to complete will be logged in seconds.
    2. Information whether the cube is processed under Analysis Services that are running in SQL Server Standard Edition or the SQL Server Enterprise Edition.
    3. Event logs will be added during processing of each Dimension and Measure Group for each partition (if applicable) for both enterprise and standard SQL editions.
  14. Added a new PowerShell cmdlet Get-SCDWInfraLocations Cmdlet on the Service Manager management server to retrieve the following location information about its data warehouse infrastructure:
    1. Service Manager database
    2. Service Manager data warehouse database
    3. Service Manager Analysis server database
    4. Data Warehouse Reporting Server database and Report Server URL

 

5jan/15Off

Microsoft Gallery : SCSM Service request class extension for Orchestrator mapping limitation

Posted by Rémy BOVI

Une petite contribution pour SCSM.

Ce mangement pack permet d'étendre la classe SR afin d'y ajouter de nouvelles propriétés : Int, Varchar, Date, Bool.

Ce management pack permet de palier à la limition des champs mappés dans SCSM / Orchestrator.

Pour en savoir plus c'est par ici : https://gallery.technet.microsoft.com/systemcenter/SCSM-Service-request-class-dd8f2b06

Logo

24déc/14Off

Configuration Manager Servicing Extension

Posted by Nicolas BONNET

L’équipe Technet a mis à disposition un outil permettant d’étendre les fonctionnalités de la console. L’outil est téléchargeable depuis le lien ci-dessous : http://www.microsoft.com/en-us/download/details.aspx?id=45033 Une fois téléchargé et installé, il est possible d’accéder à l’outil depuis le nœud Administration de la console SCCM.

1