PI Services

Le blog des collaborateurs de PI Services

SQL Server – Amélioration de la reconstruction d’un index en ligne sous SQL Server 2012.

SQL Server 2012 cache quelques petites nouveautés qui peuvent bien vous surprendre.

J’ai découvert récemment qu’il est désormais possible de reconstruction un index en ligne sur SQL Server 2012 de tables qui contiennent des types VARCHAR(MAX) et NVARCHAR(MAX).

Démonstration :

Commencez par exécuter le script sous SQL Server 2008 R2 puis sur SQL Server 2012.

USE [tempdb]
GO
CREATE TABLE T1
(ID INT, C1 NVARCHAR(10), C2 NVARCHAR(MAX))
GO
CREATE CLUSTERED INDEX [IX_T1]
ON T1
(ID)
GO
CREATE NONCLUSTERED INDEX [IX_T1_Cols]
ON T1
(C1)
INCLUDE (C2)
GO
USE [tempdb]
GO
ALTER INDEX [IX_T1_Cols] ON [dbo].[T1]
REBUILD WITH (ONLINE = ON)
GO
DROP TABLE T1
GO

Résultat :

Sur le serveur SQL Server 2008 R2, on a un message d’erreur du type

Msg 2725, Level 16, State 2, Line 1
An online operation cannot be performed for index ‘IX_T1_Cols’ because the index contains column ‘C2’ of data type text, ntext, image, varchar(max), nvarchar(max), varbinary(max), xml, or large CLR type. For a non-clustered index, the column could be an include column of the index. For a clustered index, the column could be any column of the table. If DROP_EXISTING is used, the column could be part of a new or old index. The operation must be performed offline.

Tandis que sur le serveur SQL Server 2012

Command(s) completed successfully.

SQL Server 2005 – Erreur 28086 lors de la réinstallation de SQL Server Reporting.

Lors d’une mission d’installation de SQL Server chez un client, j’ai rencontré un problème d’installation du service SQL Server Reporting suite à une réinstallation du serveur.

L’erreur en question mentionne que le service SQL Server Reporting ne peut pas etre installé car il existe une instance du même nom sur le serveur.

An instance with the same name is already installed on this computer. To proceed with SQL Server Setup, provide a unique instance name.

error sql article

Pour résoudre ce problème :

1. Commencez par désinstaller tous les binaires de SQL Server 2005

2. Supprimez le dossier correspondant à C:\Program Files\Microsoft SQL Server\, ou spécifiquement le dossier C:\Program Files\Microsoft SQL Server\MSSQL.1.

3. Puis ouvrez l’éditeur du registre recherchez les clés suivantes pour les supprimer :

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\MSSQLServer

HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft SQL Server\MSSQL.1

HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft SQL Server\Services\SQL Server

4. Puis redémarrer votre serveur et relancez votre installation.

SCOM 2012 : Deux outils de développement gratuits

 

Si vous êtes administrateur de longue date d’une supervision SCOM, vous regrettez très probablement la disparition de la console Authoring présente dans SCOM 2007.

Elle permettait le développement rapide et (en partie) graphique de Management Packs relativement complexes avec une création assez visuelle des workflow de supervision.

L’arrivée de SCOM 2012 a malheureusement signé l’arrêt de son support : il est toujours possible de créer un MP avec la console Authoring et de l’importer sur une plateforme SCOM 2012, mais il n’est par la suite plus possible de le rouvrir pour le modifier. Il n’est évidemment pas possible non plus de tirer profit des nouvelles fonctionnalités propres à SCOM 2012 (nouveaux Dashboard, nouvelles fonctionnalités de supervision réseau…).

La préconisation de Microsoft était alors de se rabattre sur Visual Studio avec les extensions VSAE (Visual Studio Authoring Extensions), ou sur Visio à l’aide de VMPD (Visio Management Pack Designer) pour les management pack les plus simples.
Nous avions donc le choix entre une solution peu pertinente et très limitée (Visio) et la solution la plus complète qui soit, mais également la moins accessible aussi bien en terme de complexité de mise en œuvre que de coût.

MP Author

Heureusement, après presque 2 ans de disette, les développeurs de Silect (une filiale de Bridgeways, un éditeur de Management Pack) ont entendu notre appel et ont publié l’outil gratuit MP Author (http://www.silect.com/mp-author ), qui rappelle la console Authoring par bien des aspects.

Reprenons par exemple l’exemple classique de la création d’un MP contenant une classe et une découverte à l’aide d’une clé de registre :

L’installation est assez directe (suivant -> suivant -> ok), notez cependant qu’il est nécessaire que la console SCOM 2012 (R2) soit présente.

On crée ensuite un nouveau MP :

clip_image002

On indique un ID, un nom et une description

clip_image004

Dossier d’export

clip_image006

MPs à référencer

clip_image008

Il est préférable de sélectionner Empty Management Pack car le template Single Server Application crée des objets inutiles à une supervision basique

Nous arrivons maintenant à l’écran principal de l’outil, d’une apparence plutôt familière si on a l’habitude de la console Authoring.

Cliquer sur Target > New > Create New Registry Target :

clip_image010

Il est possible de se connecter à un serveur distant pour parcourir sa base de registre à la recherche de la clé appropriée, ou bien d’entrer à la main les informations :

clip_image012

Sélectionner la clé de registre sur laquelle se basera la découverte :

clip_image014

Donner un ID et un nom à la classe :

clip_image016

De même pour la découverte :

clip_image018

Définir une expression pour la découverte :

clip_image020

Définir un intervalle de découverte :

clip_image022

A l’aide d’un assistant très similaire, on ajoute un moniteur qui supervisera le service DHCP :

clip_image024

clip_image026

clip_image028

clip_image030

Il ne reste plus qu’à exporter votre management pack, soit directement vers SCOM à l’aide d’un clic droit sur la racine de l’arborescence à gauche > Import Management Pack :

clip_image032

Soit en sauvegardant le MP sous forme de fichier XML et en l’important via la console SCOM.

Certes, cet outil est moins complet que l’ancienne console Authoring et perfectible sur bien des points, mais il devrait permettre de gagner un temps précieux et remplace avantageusement la solution Visio proposée par Microsoft!

Visual Studio

Le but ici n’est pas de vous proposer une introduction complète à l’utilisation de Visual Studio pour le développement de Management Pack, mais plutôt de vous révéler une astuce : en effet, le titre de ce billet est « deux outils de développement gratuits »…

Et il n’est effectivement pas nécessaire de débourser le moindre centime, ni même de se lancer dans le téléchargement fastidieux d’un iso de plusieurs Go pour obtenir un Visual Studio exécutant les Authoring Extensions de manière parfaitement fonctionnelle !

Voici ce dont vous aurez besoin :

Microsoft Visual Studio 2012 Shell (Isolated) Redistributable Package (220 mo) : www.microsoft.com/en-us/download/details.aspx?id=30670

Microsoft Visual Studio 2012 Shell (Integrated) Redistributable Package (1,5 mo) : http://www.microsoft.com/en-us/download/details.aspx?id=30663

System Center 2012 Visual Studio Authoring Extensions (32 mo) : http://www.microsoft.com/en-us/download/details.aspx?id=30169

Et… c’est tout ! L’installation est des plus classique (suivant -> suivant -> OK) et vous permet d’obtenir un Visual Studio en bonne et due forme, avec les templates nécessaires au développement de Management Packs :

clip_image034

Bon développement !

Application Compatibility Toolkit 6.1 – Partie 1

Je vous propose de faire un tour d’horizon de l’outil Application Compatibility Toolkit 6.1. Cet article se décompose en trois parties :

Partie 1 : Introduction et installation

Partie 2 : Création et déploiement de l’outil d’inventaire

Partie 3 : Analyse et exploitation des données colletées

Introduction

Application Compatibility Toolkit 6.1 permet d’aider les équipes IT dans le processus de migration vers un nouveau système d’exploitation. L’objectif de l’outil est de fournir des informations sur la compatibilité des applications présentes dans votre parc.

Sur quels systèmes d’exploitation peut-on collecter des informations sur les applications ?

L’inventory Collection Package peut être exécuté pour collecter des informations sur les applications installées sur les systèmes suivants :

  • Windows 8.1, 8, 7, Vista, XP et 2000
  • Windows Server 2012R2, 2012, 2008 R2, 2008, 2003 R2 et 2003

Fonctionnement

Depuis la console Application Compatibility Toolkit, on génère un package qui sera chargé d’inventorier les applications des postes de travail. Après exécution du package, les données collectées seront stockées sur un partage réseau dédié.

ACT s’appuie sur un service nommé « ACT Log Processing Service ». Celui-ci analyse les informations contenues dans les fichiers déposés sur le partage réseau. Puis, les données du poste de travail sont ajoutées dans la base de données.

Enfin depuis la console ACT, vous exploitez les informations sur la compatibilité des applications depuis la base de données.

Mise en place

Dans un premier temps, il faut tout d’abord installer l’outil Application Compatibility Toolkit. Il est disponible dans le Kit de déploiement et d’évaluation Windows 8.1 (ADK 8.1). À télécharger gratuitement ici.

Depuis l’assistant d’installation ADK 8.1, vous devez ajouter les composants suivants :

  • Application Compatibility Toolkit (ACT)
  • Microsoft SQL Server 2012 Express

2014-03-24_175637

Préparation

Système d’exploitation

Application Compatibility Toolkit doit être installé sur l’une des plateformes suivantes :

  • Windows 8, 7, Vista (SP2) et XP(SP3)
  • Windows Server 2012, 2008 R2, 2008 (SP2)

Base de données

Application Compatibility Toolkit a besoin d’une base de données pour fonctionner. Voici la liste des versions SQL Server supportées :

  • Microsoft SQL Server 2012
  • Microsoft SQL Server 2008 R2
  • Microsoft SQL Server 2008
  • Microsoft SQL Server 2005

Quelles sont les versions de SQL Server supportées ?

Si vous disposez déjà d’un serveur SQL, vous pouvez choisir de:

  • Créer une nouvelle base de données sur une nouvelle instance SQL
  • Créer une nouvelle base de données sur une instance SQL déjà existante

Si vous n’avez pas de serveur SQL, installer une version SQL Server Express disponible gratuitement avec ADK.

.Net Framework

ACT 6.1 nécessite le composant .Net Framework 4.

Configuration

Après l’installation d’ACT 6.1 et SQL Express 2012, vous devez configurer l’application.Logo ACT

Lancer Application Compatibility Toolkit

 

 

Configuration ACT (1)

L’assistant vous propose d’installer le service « ACT Log Processing Service ». Ce service permet de traiter les données des postes de travail puis de les intégrer dans la base de données SQL. Sans ce service, votre base de données ne sera pas alimentée. Sélectionnez « Yes » puis cliquez sur « Next »

Configuration ACT (2)

L’étape suivante configure la base de données SQL. Sélectionner votre serveur SQL et la base de données à utiliser.

Configuration ACT (3)

La prochaine étape détermine le répertoire où seront stockées les données collectées sur les postes. Indiquez un chemin local et le nom du partage réseau à créer. Comme l’indique l’assistant, vérifiez que les postes clients disposent des droits en écriture dans ce répertoire.

Configuration ACT (4)

La prochaine étape vous propose de renseigner le compte à utiliser pour exécuter le service « ACT Log Processing Service ». Deux options s’offrent à vous :

  • Utiliser le compte local System (par défaut)
  • Utiliser un compte de service.
    Si vous retenez cette dernière option, vérifier les points ci-dessous. Le compte doit :
  • Être autorisé à ouvrir une session en tant que service.
  • Disposer des droits en écriture sur le répertoire contenant les fichiers collectés
  • Disposer des droits en écriture sur la base de données

Configuration ACT (5)

La configuration de l’outil touche à sa fin. Cliquez sur Finish

Configuration ACT (6)

L’outil Application Compatibility Toolkit est maintenant installé et configuré. Je vous propose maintenant de passer à la partie 2 : Création et déploiement de l’outil d’inventaire

Application Compatibility Toolkit 6.1 – Partie 3

Ce troisième article sur Application Compatibility Toolkit traite la phase d’analyse de données récoltées.

Avec ACT il est possible de faire une synchronisation de la liste de vos applications sur une plateforme Microsoft. Celle-ci permet d’obtenir les informations officielles publiées par les éditeurs de logiciel. L’accès à ces informations permet de gagner du temps pour la validation de vos applications. De plus, la plateforme héberge les résultats de compatibilité d’une communauté d’utilisateur d’ACT. Celle-ci s’avère utile pour faire le point sur une application dont l’éditeur n’a pas communiqué d’information officielle. Dans les options, il est possible de choisir si l'on souhaite ou non envoyer les résultats de compatibilité sur la plateforme Microsoft

Le menu analyse vous permet de visualiser le résultat de la collecte. Les rapports sont regroupés par système d’exploitation : Windows 7, Windows 8 et Windows 8.1.

Information : Vous pouvez choisir d’afficher uniquement les rapports qui correspondent au système d’exploitation cible. Pour ce faire, cliquez sur « Customize this view » et décochez les systèmes inutiles.

Tips - Custom View 2 Tips - Custom View

 

Rapport général

Pour chaque système d’exploitation, ACT fournit un rapport général.

Rapport - General

Informations sur l’inventaire

Les premières informations portent sur le processus d’inventaire lui-même :

  • Le nombre de postes de travail analysé
  • Le nombre d’applications recensé
  • Le nombre de périphériques détecté

Informations sur les applications

Ensuite, vous trouvez un tableau de synthèse concernant la compatibilité des applications. Vous pourrez ainsi identifier le nombre d'applications:

  • Incompatibles
  • Compatibles
  • Compatibles, mais qui risque de présenter quelques problèmes mineurs à l’utilisation
  • Sans informations sur la compatibilité

Dans la page sont ensuite présentées les informations sur la compatibilité des applications par rapport :

  • Aux informations concernant le support officiel de l’éditeur « Vendor Assessment »
  • À votre résultat sur la compatibilité « My Assessment »

Notez que pour chaque application ACT distingue les architectures 32 et 64 bits.

Informations sur les périphériques

Le tableau dédié aux résultats sur la compatibilité des périphériques est similaire à celui des applications. On retrouve le nombre de périphériques :

  • Incompatibles
  • Compatibles
  • Compatibles, mais qui risque de présenter des problèmes mineurs
  • Sans informations sur la compatibilité

Rapport détaillé

Pour chaque système d’exploitation, ACT fournit des rapports détaillés pour:

  • Les applications
  • Les postes de travail
  • Les périphériques
  • Les Add-On Internet Explorer
  • Un Feedback global

Notez que tous les rapports sont exportables dans les formats suivants : Excel, CSV et XLM.

Rapport sur les applications

L’onglet application recense l’ensemble des informations sur la compatibilité des applications.

Rapport - Application

Vous trouverez les trois premières colonnes qui identifient l’application :

  • Le nom de l’application
  • La version
  • L’éditeur

Évaluation de la compatibilité

  • Votre évaluation sur la compatibilité « My Assessment »
  • L’état de la synchronisation avec la communauté « Send and Receive Status »
  • Les informations sur la compatibilité officielle « Vendor Assessment »
  • Les retours sur la compatibilité de la communauté « Community Assessment »

Autres colonnes

  • La colonne « Versions » affiche le nombre de versions mineur de l’application détectée sur les postes.
  • Le nombre de postes sur lesquels l’application a été détectée est inscrit dans la colonne « Computer ».
  • Vous avez la possibilité de choisir une priorité pour chaque application. Celle-ci est affichée dans l’onglet « Priority ». 4 Niveaux de priorité sont disponibles :
    o Priorité 1 – Business Critical
    o Priorité 2 – Important
    o Priorité 3 – Nice to Have
    o Priorité 4 – Unimportant
    o Unspecified
  • La dernière colonne est intitulée « Deployment Status ». Comme pour la colonne précédente, ACT vous propose de choisir le statut du déploiement de l’application :
    o Not Reviewed
    o Testing
    o Mitigating
    o Ready to Deploy
    o Will not Deploy
  • La colonne « Active Issues » est intéressante dans le cas où une application est incompatible.

Via la plateforme Microsoft, l’éditeur du logiciel peut publier des informations pour résoudre les problèmes de compatibilité (MAJ de l’application de la plupart des cas).

Exemple d’une solution proposée pour l’application Adobe Flash Player 10 Plugin :

Issue - Issue DetailIssue - Solutions

De plus, sachez qu’il existe une autre information (non visible dans le tableau) pour vous aider à organiser votre parc applicatif : les catégories.
La liste de catégories est personnalisable et vous permet d'assigner à une application une ou plusieurs catégories. L'utilisation de celle-ci vous sera fort utile si vous souhaitez utiliser des filtres dans vos rapports.

L’interface est personnalisable et vous pouvez choisir les colonnes à afficher et celle à masquer (via un clic droit sur la ligne d’en tête du tableau)

Rapport sur les postes de travail

Dans cet onglet dédié au poste de travail, on retrouve les colonnes suivantes :

  • Le nom du poste
  • Le nombre d’applications ayant un problème de compatibilité
  • Le nombre de périphériques ayant un problème de compatibilité
  • Le système d’exploitation
  • Le domaine Active Directory
  • Le nombre d’applications
  • Le nombre de périphériques

Information : Les postes de travail équipés de Windows XP SP3 sont identifiés en SP2. En réalité, le SP3 est bien détecté, mais ACT le répertorie comme une application nommée « Windows XP Service Pack 3 ».

Rapport - Ordinateur

Rapport personnalisé : Filtrage

ACT intègre une fonction de filtrage sur les différents rapports (applications, poste de travail, etc.). Le filtre est accessible depuis la barre d’outils principale.

Filtre-barre

Via cette fonctionnalité de filtrage, vous pourrez construire un rapport personnalisé basé sur des conditions.

Filtre-UI

Par exemple, vous pourrez générer un rapport contenant :

  • Les applications de priorité 1 Business Critical
  • Les applications détectées sur les postes de travail nommées avec une syntaxe précise (ex. : INFO, ACHAT…)
  • Les applications qui font partie de la catégorie nommée « Drivers »

Vous trouverez ci-dessous une capture d’écran des différents champs disponibles :

Filtre

Sachez qu’il est possible de créer des requêtes avancées en ajoutant plusieurs conditions. Notez également que l’outil permet de sauvegarder vos requêtes personnalisées pour une utilisation ultérieure de celle-ci.

Application Compatibility Toolkit 6.1 – Partie 2

Collecte

La console Application Compatibility Toolkit s’oriente autour de deux axes.

1. La collecte d’informations sur le parc

2. L’analyse et l’exploitation des informations

Ce second article présente le processus de collecte des applications.

Le menu collecte vous permet de gérer vos packages. Il est possible de créer deux types de package.

  • « Inventory Collection Package » Ce package permet de faire un recensement des applications installées sur un poste de travail. Son utilisation est transparente pour l’utilisateur final, car l’outil s’exécute en tâche de fond. Les données issues de la collecte sont traitées et ajoutées dans ACT.
  • « Runtime Collection Package » Propose d’analyser les applications installées sur un poste pour vérifier la compatibilité de celle-ci.

Processus d’inventaire

Les paragraphes suivants montrent la marche à suivre pour collecter les applications installées sur un parc informatique.

Création d’un package d’inventaire

La première étape pour obtenir les applications installées est la création d’un package qui va analyser et exporter les logs sur un partage réseau dédié.

Pour créer un package d’inventaire, placez-vous dans l’onglet « Collect »

Collect - Icon

Puis, cliquez sur « Create new data collection package »

Collect - Add Package

Une première fenêtre s’ouvre, cliquez sur « Inventory Collection Package »

Inventory Collection Package - Creation S1

La seconde fenêtre de l’assistant paramètre votre package d’inventaire. Vous devrez remplir les trois champs suivants :

  • Choisir le nom du package
  • Indiquer le chemin du répertoire partagé sur lequel seront déposés les résultats des collectes.
  • Déterminer un Label. Celui-ci permet d’ajouter une indication sur la cible. En pratique grâce à l’utilisation des labels, l’exploitation des résultats sera simplifiée. Par exemple via l’utilisation des filtres (que nous verrons plus tard) vous pourrez construire des rapports ayant pour cible un service ou département spécifique.

Inventory Collection Package - Creation S2

Lorsque vous cliquez sur « Create », l’assistant vous propose d’exporter le package. Sélectionner un chemin, puis cliquez sur « Save »

Inventory Collection Package - Creation S3

Le package est prêt à être utiliser. Notez que le compte sera utilisé pour exécuter le package doit avoir les droits en écriture sur le partage réseau contenant les logs.

Inventory Collection Package - Creation S4

Déploiement du package

La seconde étape consiste à déployer le package sur les postes cibles. Différentes méthodes de déploiements sont disponibles, à savoir :

  • Stratégies de groupe
  • Script d’ouverture de session
  • Par l’intermédiaire du produit System Center Configuration Manager
    Manuel
  • Exécution d’un script personnalisé
  • Mise à disposition sur un répertoire partagé

Attention : L’outil a besoin des droits administrateurs sur les postes pour s’exécuter correctement.

Exécution du package

L’exécution du package est totalement silencieuse. Les utilisateurs ne seront ni avertis ni gênés par l’exécution du scan. En arrière-plan, le package dépose quelques fichiers dans le répertoire "Program Files (x86)\Inventory Collection Package". Le processus de collecte démarre automatiquement. Vous pourrez vérifier l'exécution de la collecte via le gestionnaire de tâche Windows. Le nom du processus est : bucketizer.exe

bucketizer

À la fin de l’opération de collecte, les résultats sont envoyés sur le chemin réseau (déterminé au cours de la création via l’assistant). De plus, le répertoire temporaire Inventory Collection Package sera supprimé.

Périodiquement, le service « ACT Log Processing Service » vérifie la présence de nouveau fichier de collecte dans le partage réseau. Dès que le service détecte un nouveau fichier, celui-ci est analysé, traité et intégré dans la base de données ACT. Enfin, vous trouverez dans la console ACT les résultats de la collecte.

Le dernier article est dédié à l’analyse des informations : Partie 3 : Analyse et exploitation des données colletées

Autoriser l’exécution d’un script Powershell uniquement si RunAsAdministrator a été effectué et / ou si le compte utilisateur dispose du droit Domain Admin

Dans certains contexte, nous avons besoin qu’un script Powershell ne soit exécuté que si la fenêtre Powershell n’a été lancée qu’en tant qu’administrateur.

image

Pour effectuer ce contrôle et lancer l’exécution du script :

 

$currentUser = New-Object Security.Principal.WindowsPrincipal $([Security.Principal.WindowsIdentity]::GetCurrent())
if (($currentUser.IsInRole([Security.Principal.WindowsBuiltinRole]::Administrator)) -eq $false)
{
    write-host "Merci de relancer le script avec élévation de privilèges" -f red -b yellow
}

else
{
    ###############################################

    Saisissez votre code

    ###############################################
}

Maintenant si vous lancez votre script Powershell sans exécuter d’élévation, voici le résultat :

image 

Imaginons maintenant que nous voulons exécuter un script uniquement si le compte utilisé dispose du droit domain admin :

Tout d’abord vous devez identifier le SID du groupe domain admin.

 

Une fois identifié voici un exemple d’intégration pour appliquer cette condition:

    $currentUser = New-Object Security.Principal.WindowsPrincipal $([Security.Principal.WindowsIdentity]::GetCurrent())
    $DroitDomainAdmin=0;$currentUser.Identities.groups | %{if($_.value -eq "S-1-5-21-XXXXXXXXXXXXXXXXXXXX"){$DroitDomainAdmin=1}}

     ### S-1-5-21-XXXXXXXXXXXXXXXXXXXX correspond à votre SID du groupe domain admin

    if ($DroitDomainAdmin -eq "0")
    {
        write-host "Vous ne disposez pas du jeton Domain\Domain Admins" -f red -b yellow
        write-host "Merci de vous l'attribuer et de relancer le script" -f red -b yellow
    }
    else

        {
        ###############################################

        Saisissez votre code

        ###############################################
    }

Détection des cartes réseaux en powershell en fonction de leurs propriétés de localisation

(Ce script est exécuté sous Powershell en version 3)

Vous disposez d’un plan de câblage identique pour plusieurs serveurs sur un même modèle. Chaque cartes réseaux sur les différents serveurs doivent être configurés de façon identique : même nom d’interfaces, mêmes protocoles, etc..

Afin d’identifier de manière automatiser les interfaces, vous pouvez vous baser sur le paramètre de localisation des interfaces (sur un même modèle de serveur).

Exemple :

image

 

Nous allons ici chercher à récupérer le nom de l’interface (pouvant varier d’une installation à l’autre en fonction de l’ordre de détection des interfaces réseaux)

Ici, nous allons identifier les différentes cartes réseaux et leurs emplacement :

Get-WMIObject Win32_PnPSignedDriver | ? {$_.deviceclass -match "NET"} |select description, location

image

 

Nous avons pu identifier la valeur correspondante à notre carte réseau.

Nous allons maintenant récupérer son nom d’interface présent dans le gestionnaire des connexions réseaux (ncpa.cpl)

$location=”PCI bus 3, device 0, function 0”

#### deviceclass retourne les résultats des périphériques PnP de type réseaux

Get-WMIObject Win32_PnPSignedDriver |? {$_.location -match $location -and $_.deviceclass -match "NET"} |%{$_.friendlyname} | %{Get-NetAdapter -InterfaceDescription $_} | %{$_.name}

 

image

 

Exemple pour l’inteface Wifi :

image

Récupération d’une validation de configuration de cluster en Powershell

Dans un processus d’automatisation de la création du cluster ou Ajout d’un nœud dans le cluster, vous pourriez avoir besoin de récupérer le résultat de la validation dans un tableau afin de déterminer s’il est possible de lancer une création ou ajout dans le cluster.

 

Voici un exemple de script qui vs vous permettre de récupérer le résultat de la validation dans un tableau en powershell :

 

##### Validation Cluster

        $logCluster="C:\Windows\Cluster\Reports"
        $testCluster=  Test-Cluster -Node $env:computername #-ErrorAction SilentlyContinue
        sleep -s 5
        $testCluster=$testCluster -replace(".mht",".xml")
        [xml]$xml=get-content $testCluster
        $ValidationTab=@()
        $cpt=0
        foreach ($x in $xml.report.Channel.channel)
        {
           $d=new-object psobject
           $ChannelNames=$x.ChannelName."#cdata-section"
           $values=$x.result.value."#cdata-section"

           $d | Add-Member -Name ChannelNames -MemberType NoteProperty -Value "$ChannelNames"
           $d | Add-Member -Name values -MemberType NoteProperty -Value "$values"
           $ValidationTab+=$d
           $cpt++
        }
        write-host "résultat de la validation du Cluster:" -f green
        write-host ""
        $ValidationTab

 

Exemple de Résultat :

image

SQL Server – Comparaison de base de données avec SSDT 2012.

Dans le cadre de l’administration de serveurs de base de données, vous serez probablement un jour amené à comparer des bases de données entre elles.

La procédure ci-dessous vous aide à comparer deux bases de données entre à l’aide de SQL Server Data Tools 2012.

1. Commencez par télécharger le SQL Server Data Tools de Visual Studio 2012 en suivant ce lien :

http://msdn.microsoft.com/en-us/jj650015

Cliquez ensuite sur le lien Download SQL Server Data Tools for Visual Studio 2012

2. Une fois que votre outil est téléchargé, installez le puis lancez le SQL Server Data Tools.

L’icône ressemble à cette image :

clip_image001

3. Dans le menu SQL, sélectionnez Comparaison de schémas puis cliquez sur Nouvelle comparaison de schémas…

clip_image002

4. Sélectionnez dans un premier temps la source en cliquant sur Sélectionner source…

clip_image003

5. Cliquez sur Nouvelle connexion… pour choisir la base de données d’un serveur que vous désirez mettre en source.

clip_image004

6. Choisissez le nom du serveur puis votre base de données hébergée sur ce dernier.

a. Dans l’exemple ci-dessous notre serveur se nomme JELAV-HP-01\SQL2012 et notre base de données source se prénomme AdventureWorks2012

b. Cliquez ensuite sur OK

clip_image005

7. Cliquez sur OK.

clip_image006

8. Sélectionnez maintenant votre base de données cible en cliquant sur Sélectionner cible…

clip_image007

9. Une fenêtre de sélection pour le schéma cible apparait. Cliquez sur Nouvelle connexion… pour ajouter la base de données cible que vous souhaitez.

clip_image008

10. Choisissez le nom du serveur puis votre base de données hébergée sur ce dernier.

a. Dans l’exemple ci-dessous notre serveur se nomme JELAV-HP-01\SQL2008R2 et notre base de données cible se prénomme AdventureWorks2008R2

b. Cliquez ensuite sur OK

clip_image009

11. Cliquez à nouveau sur OK.

clip_image010

12. Vos deux champs Source et Cible sont renseignés, vous pouvez maintenant comparer le schéma des deux bases de données en cliquant sur l’icône Comparer.

clip_image011

13. Une fois que la comparaison des schémas est terminée, dans notre exemple nous observons des objets qui comportent des points de divergence. Nous avons la possibilité de mettre à jour le schéma cible pour que le schéma de la base de données AdventureWorks2008R2 soit identique de celle de AdventureWorks2012.

clip_image012

14. Pour mettre à jour, le schéma de la base de données cible, cliquez sur l’icône Mettre à jour.

clip_image013

15. Une fenêtre apparait pour vous avertir et vous demander confirmation, cliquez sur Oui.

clip_image014

16. Une fois que la mise à jour est achevée, vous pouvez voir le détail des opérations dans le menu Opérations des outils de données et le succès de celui-ci.

clip_image015

17. Relancez la comparaison des deux schémas pour valider la mise à jour. Résultat de la comparaison, le schéma des deux bases de données sont identique.

clip_image016