Archives par étiquette : Microsoft

Remplacer PowerShell ISE par Visual Studio Code

Avec l’arrivée sur Powershell Core 6.0 disponible ici, le nouvel éditeur PowerShell recommandé est Visual Studio Code. Mais certains ont du mal à retrouver leurs petits par rapport à Powershell ISE, alors voici un petit article qui va vous aider à vous y retrouver.

Installation

La source est disponible sur le site https://code.visualstudio.com/  Visual Studio Code est cross platform, il est disponible pour Windows mais aussi MacOs et Linux

Si vous utilisez MacOs ou Linux, il vous faudra installer le PowerShell Core disponible à l’adresse suivante :

https://github.com/PowerShell/PowerShell

Continuer la lecture

SQL Express 2016 Edition offline installer

Voici les liens pour télécharger SQL 2016 Express Offline:

Express Core (411 MB): https://download.microsoft.com/download/9/0/7/907AD35F-9F9C-43A5-9789-52470555DB90/ENU/SQLEXPR_x64_ENU.exe

Express Advanced (1255 MB): https://download.microsoft.com/download/9/0/7/907AD35F-9F9C-43A5-9789-52470555DB90/ENU/SQLEXPRADV_x64_ENU.exe

Attention avec la version 2016, SQL Server Management Studio n’est plus fourni dans l’installeur. Il vous faut télécharger SSMS (SQL Server Management Studio). SSMS est proposé gratuitement par Microsoft à l’adresse suivant:

French Version: https://docs.microsoft.com/fr-fr/sql/ssms/sql-server-management-studio-ssms

English version: https://go.microsoft.com/fwlink/?linkid=849819&clcid=0x409

Citrix Xendesktop 7.11 installation sur Windows Server 2016 TP5 Partie 2

Suite de l’installation de Citrix Xendesktop 7.11 sur un Windows Server 2016 TP5. Nous allons passer à l’installation de Xendesktop. Ici nous ferons, une installation simple avec tous les composants installés sur le même serveur (StoreFront, Delivery contrôle, Director). Vous allez voir, il n’y a pas de gros changements par rapport aux versions précédentes Xendesktop 7.x

Nous allons voir ici l’installation :

Installation de Xendesktop

Sélectionner XenDesktop

xendesktop711-w2k16tp5-p2-1sur11

Ici nous sélectionnerons Get Started, Delivery Controller à droite dans le menu

xendesktop711-w2k16tp5-p2-2sur11

Accepter les termes de la licence puis cliquer sur Next

xendesktop711-w2k16tp5-p2-3sur11

Ici vu que nous installerons tout sur le même serveur. J’ai gardé le serveur de licence pour l’exemple, mais moi j’ai mon propre serveur de licence. Cliquer sur Next

xendesktop711-w2k16tp5-p2-4sur11

Ici nous aurons besoin d’une installation de SqlExpress pour notre base de données et de l’activation de la fonctionnalité Windows Remote Assistance pour Director

xendesktop711-w2k16tp5-p2-5sur11

Pour le Firewall, la liste des ports qui seront ouvert est affiché, vous avez possibilité de faire les ouvertures en manuelles, mais nous les laisserons en automatique, cliquer que Next

xendesktop711-w2k16tp5-p2-6sur11

Puis cliquer sur install

xendesktop711-w2k16tp5-p2-7sur11

La machine doit redémarrer, cliquer sur close. La machine redémarre

xendesktop711-w2k16tp5-p2-8sur11

Une fois redémarrer l’installation reprend

xendesktop711-w2k16tp5-p2-9sur11

Une fois l’installation terminée, on vous demande si vous voulez participer au programme Citrix Call Home c’est un peu l’équivalent du centre d’amélioration chez Microsoft. Si vous voulez plus l’information dessus rendez-vous à cette page chez Citrix :

https://www.citrix.fr/community/cx/call-home-fr.html

Moi je ne vais pas l’utiliser, puis cliquer sur Next

xendesktop711-w2k16tp5-p2-10sur11

Une fois terminé vous pouvez exécuter Store en cochant la case Launch Studio, puis cliquer sur Finish

xendesktop711-w2k16tp5-p2-11sur11

 

Powershell: Cacher l’exécution d’un script powershell

Si vous voulez cacher l’exécution d’un script powershell ou même d’un programme, voici une méthode simple. Pour cela on va passer par un script vbs. En effet l’interpréteur wscript, n’affiche pas de fenêtre d’exécution par défaut, contrairement à l’interpréteur cscript ou powershell. L’intérêt c’est que l’utilisateur ne voit pas l’exécution d’un script ou processus quel qu’il soit. Cela peut être utile pour cache un script de démarrage, une tache planifiée, une publication CITRIX ou RDS.

Pour nos tests on va utiliser un script en powershell pour afficher une fenêtre toute simple :

Voici ce qu’on veut cacher l’interpréteur powershell avec son fond bleu disgracieux :hide-powershell1-4

Continuer la lecture

Powershell : remonter les utilisateurs par processus Query-app

Souvent quand on fait un audit d’un environnement nous avons besoin d’avoir les informations, combien d’utilisateurs utilisent une application serveur, par exemple dans une session Remote desktop ou Citrix. Selon la version du système de publication utilisé, bureau ou application les outils sont différents. Là je vous propose une fonction universelle qui vous permettra d’avoir une remontée sur tout système. Dans cette fonction nous aurons en entrée ordinateur requeté et application, puis en sortie ordinateur, application, utilisateur, mémoire utilisé, à quelle heure l’application à démarrer, l’heure de la requête et le chemin où se trouve l’application.

Dans un premier temps nous allons utiliser le WMI avec la classe Win32_Process

Exemple sur un processus :

get-app-1sur11

get-app-2sur11

Continuer la lecture

Powershell test de version de Hyper-V

Alors cette semaine je suis tombé sur un problème simple, savoir quelle version d’Hyper-V est présente sur le serveur. J’avais besoin de ce contrôle car selon la version d’Hyper-V j’aurai une création différente de ma VM. Par exemple une VM Linux n’a pas les mêmes besoins qu’une VM Windows Server 2012. Alors nous avons plusieurs solutions
La première est de vérifier la version du service de gestion d’ordinateurs virtuels

pw_hp_ver1sur10

Là on peut faire d’une pierre deux coups car on connaît la version d’Hyper-V et si le service est bien présent :

pw_hp_ver2sur10

La seconde en WMI(celle que nous utiliserons ici) et de faire une requête au niveau classe Win32_operatingSystem puis je récupère par exemple la propriété versioninfo puis Version exemple ci-dessous :

pw_hp_ver3sur10

Ou aussi avec WinRm

pw_hp_ver4sur10

Ensuite on peut en déduire par le numéro de version avec les 2 premiers chiffres :

NuméroVersion
6.0Hyper-V 2008
6.1Hyper-V 2008 R2
6.2Hyper-V 2012
6.3Hyper-V 2012R2
10.0.10586Hyper-V 2016 ou Hyper-V Windows 10

Et bien oui on est sur la même version du noyau en Windows Server 2016 TP4 et Windows 10. Surprise 😛 . En fait c’est lié à la virtualisation imbriquer. J’explique ici pourquoi: Windows 10 Build 10565 : La virtualisation imbriquée

pw_hp_ver5sur10

Moi dans le fond ça me ne dérange pas mais ça ne me dit pas tout ça si le rôle Hyper-V est installé. Je vais connaitre uniquement par cette méthode la version du système d’exploitation.
Bon là encore une fois je pourrais attaquer la classe WMI pour avoir l’information. Alors je pourrai utiliser la classe Win32_ServerFeature

pw_hp_ver6sur10

La seule chose c’est que la classe WMI Win32_ServerFeature n’existe pas sur Windows 10 et moi j’aime bien les scripts font papa maman 😀
Par contre on peut utiliser un test sur compteur de performance Hyper-V, et bien oui si le rôle n’est pas installé la classe WMI ne sera présente. Par exemple on peut utiliser la class Win32_PerfFormattedData_HvStats_HyperVHypervisor
Voilà un exemple pour une machine sans Hyper-V, nous avons un code retour d’erreur

pw_hp_ver7sur10

Avec une machine avec Hyper-V

pw_hp_ver8sur10

Là il va falloir dégainer le try et le catch :

Voilà deux exemples :

Hyper-V non présent :

pw_hp_ver9sur10

Hyper-V présent :

pw_hp_ver10sur10

J’ai ajouté trois tests. Avant l’exécution du code je vérifie si la machine est bien en ligne avec un Ping, ensuite les accès WMI sont bien possibles et pour finir on recherche si le compteur de performance Hyper-V est bien présent.

Pour le ping tout est expliqué ici:

Powershell teste de vérifications : Première partie Ping

Exemple:

pw_hp_verBonus

 

Hyper-V changement du chemin par défaut des VM

Le chemin par défaut des VM est indiqué, lors de la création des machines virtuelle:

HV_change_default_location1

Pour en changer le chemin vous devez aller dans les paramètres de votre serveur hyper V accessible dans la console MMC

HV_change_default_location2

Puis dans le premier menu à gauche, vous pouvez indiquer le chemin par défaut où sera stocké le disque dur virtuel d’une nouvelle VM

HV_change_default_location3

Puis le second vous pourrez indiquer le chemin par défaut d’une machine virtuelle lors de sa création

HV_change_default_location4

Maintenant le chemin par défaut est changé:

HV_change_default_location5 HV_change_default_location6

 

Powershell teste de vérifications : Première partie Ping

En général avant d’exécuter un script nous avons besoin d’exécuter différents tests, par exemple est ce qu’un élément est bien en ligne, le service WMI répond ou un port ouvert. Cela évite de mauvaises surprises dans les scripts.

Voici une longue série sur les différents tests à faire avant d’exécuter un script. Cette première partie traitera du test de la connexion avec le Ping (ICMP)

Pour faire un ping cela se passe avec Test-Connection

powershell_test_1sur7

Afin de l’optimiser nous pouvons faire un seul test au lieu de 4 avec le paramètre -Count 1

powershell_test_2sur7

Continuer la lecture

Powershell Création de compte de test Active Directory en masse

Voici un script qui vous permettra de créer des compte de test Active Directory en masse

Voici un exemple:

Sur on veut créer des utilisateurs de user_lab1 à 5

userlab1sur3

Il y aura une gestion de l’erreur qui remontra que le compte existe

userlab2sur3

J’ai intégré aussi un mode Verbose

userlab3sur3

Windows 10 Build 10565 : La virtualisation imbriquée – sur le blog Alphorm

retrouvez mon nouvel article sur le blog alphorm sur Windows 10 Build 10565 et sa nouvelle fonctionnalité:  La virtualisation imbriquée

http://blog.alphorm.com/windows-10-build-10565-la-virtualisation-imbriquee/

retrouvez aussi mes autres articles sur:

http://blog.alphorm.com/author/llejuez/