Archives de la catégorie ‘Windows Server 2012 (R2)’

 

J’ai récemment réalisé un audit de plusieurs infrastructures Windows Server « Core ».

J’ai constaté que la Corbeille ($RecycleBin) de plusieurs dizaines de serveurs Windows Server Core (de 2008 à 2016) occupait + de 5 GB d’espace disque.

Il s’agit ici de Disque physique : matériel non supporté > pas d’extension de volume possible !

Pour vider la corbeille et libérer cet espace disque, il fallait exécuter la commande suivante :

Note importante : La commande suivante doit être exécutée depuis une CMD.exe lancée en tant qu’Admin, si vous établissez une connexion Remote Shell Windows (WinRS), vérifiez que le compte utilisé est bien local Admin sur les machines distantes.

rmdir /s %systemdrive%\$Recycle.bin

Confirmez la suppression en cliquant sur Y(es) et voilà le tour est joué :).

J’espère que cette p’tite commande pourra vous être utile ^_^.

A bientôt

#HK

 

Publicités

Hello Windows Guys,

Aujourd’hui, je vais vous parler d’un sujet souvent oublié et pourtant primordial pour la réussite de tout projet de déploiement Windows Server : Performance Tuning 

Microsoft fournie plusieurs Guidelines /White papers (Web /Docx /Pdf) décrivant les instructions à suivre pour bien tuner son infrastructure Windows Server, 2008, 2008 R2, 2012, 2012 R2 ou encore 2016.

Ces ressources étant réparties sur plusieurs sites /plateformes, j’ai donc décidé de vous regrouper dans le tableau ci-dessous tous les liens et documentations dont vous aurez besoin pour réaliser votre phase « Performance Tuning » avec succès.

OS Documents & Liens
Windows 2016 Performance Tuning Guidelines pour Windows Server 2016
https://docs.microsoft.com/en-us/windows-server/administration/performance-tuning/
Windows 2012 R2 Performance Tuning Guidelines pour Windows Server 2012 R2
https://www.microsoft.com/en-us/download/details.aspx?id=51960https://msdn.microsoft.com/en-us/library/windows/hardware/dn529133
Windows 2012 Performance Tuning Guidelines pour Windows Server 2012
http://download.microsoft.com/download/0/0/B/00BE76AF-D340-4759-8ECD-C80BC53B6231/performance-tuning-guidelines-windows-server-2012.docx
Windows 2008 R2 Performance Tuning Guidelines pour Windows Server 2008 R2
http://download.microsoft.com/download/6/B/2/6B2EBD3A-302E-4553-AC00-9885BBF31E21/Perf-tun-srv-R2.docx
Windows 2008 Performance Tuning Guidelines pour Windows Server 2008
http://download.microsoft.com/download/9/c/5/9c5b2167-8017-4bae-9fde-d599bac8184a/Perf-tun-srv.docx

 

Comme discuté précédemment, la phase « Tuning Performance » est vraiment importante dans tout projet de déploiement (Windows Server ou autre d’ailleurs) car cela vous permettra d’utiliser vos ressources de la manière la plus efficiente et surtout vous aidera à atteindre un niveau de disponibilité de service (SLA /Service Level Availability) élevé.

Un conseil from #HK

Prenez le temps de lire ces documents, certains pages vous redirigent vers d’autres liens/pages, prenez donc le temps de bien lire et comprendre et d’associer les éléments de Tuning en fonction de chaque rôle /composant de la plateforme Windows Server.

Si vous avez des questions, n’hésitez pas à me laisser un commentaire.

A bientôt

#HK

 

Les questions suivantes m’ont récemment été posées par l’équipe « Ingés Systèmes MS » chez un de mes clients ?

Est-il possible de déplacer le fichier pagefile.sys vers un nouvel emplacement (nouveau Disk) via l’interface CLI Windows (via un outil en ligne de commande Windows) ?

Y’a-t-il un risque /impact post-déplacement de ce fichier ?

 

Mes réponses étaient :

Oui, le fichier Pagefile.sys peut être déplacé vers un nouvel emplacement (au niveau de la même partition/disque ou vers un nouveau disque).

Non, aucun risque/impact, si bien évidemment l’opération de déplacement se fait correctement :).

 

Suis-je obliger de déplacer mon fichier pagefile.sys ? Quels « Cases » ?

Avant d’envisager un déplacement du fichier pagefile.sys, commencez d’abord par vérifier que c’est bien ce fichier qui occupe le plus d’espace disque sur votre serveur.

Notez que par défaut, le fichier pagefile.sys est placé dans la partition système C:\ > C:\pagefile.sys

Dans l’exemple suivant, nous exécutions l’outil TreeSize pour connaître les dossiers et fichiers occupant le plus d’espace sur le disque C: de mon DC (il s’agit ici d’un DC physique).

Comme illustré dans la console TreeSize ci-dessous, le fichier pagefile.sys de mon D(omain) C(ontroller) occupe lui seul 25GB de la partition système (C:).

 

Dans le cas de mon client, toutes les partitions C: (de 70GB) n’avaient quasiment plus d’espace disque libre, voir l’exemple suivant avec 9MB d’espace libre :S

Dans ce cas de figure, avec un pagefile.sys à 25GB (~40% de la taille globale de C:), il FAUT obligatoirement le déplacer pour libérer de l’espace disque dans l’immédiat car avec une telle configuration votre DC finira par crasher, rapidement !

 

Requirements

Vous devez bien évidemment avoir un autre disque connecté sur votre serveur « Physique » ou ajoutez un nouveau vDisk à votre serveur Virtuel. Notez que ce dernier doit avoir suffisamment d’espace disque libre pour accueillir votre nouveau fichier pagefile.sys

Important : la configuration d’un nouvel emplacement du fichier pagefile.sys nécessite le Reboot de votre serveur pour que cette modification soit prise en compte.

Déplacer le fichier pagefile.sys vers une nouveau Disque

Exécutez les commandes suivantes pour :

Créer un nouveau fichier Pagefile.sys et le placer dans disque dédié (Lettre D:)

wmic pagefileset create name=D:\pagefile.sys

Définir sa taille (Maximale) à 8192 MB (8GB)

wmic pagefileset where name=D:\pagefile.sys set InitialSize=2048,MaximumSize=8192

Supprimer l’ancien fichier Pagefile.sys (placé dans C:\ dans notre cas)

wmic pagefileset where name=C:\pagefile.sys delete

 

Vérifier que le nouveau fichier pagefile.sys a bien été créé et déplacé

Pour visualiser l’emplacement du nouveau fichier Pagefile.sys, saisissez la commande wmic pagefileset list ou wmic pagefileset list /format:list pour avoir un output au format « Liste ».

A bientôt pour de nouvelles Tips & Tricks Windows, stay connected :).

#HK | Just Another IT Guy

 

Le planificateur de tâches Windows vous permet de créer et gérer des tâches planifiées afin d’automatiser les tâches fastidieuses d’administration Windows (periodic check, lancement de scripts pour déploiement, configuration, …Etc)

Certaines applications crééent de manière automatique des tâches planifiées pour un « Automatic Update » ou simplement réaliser certaines opérations liées à l’application de manière périodique.

Le planificateur de tâches Windows correspond à l’outil/snap-in MMC Taskschd.msc

Pour le lancer, saisissez simplement Taskchd.msc depuis le Menu Exécuter ou Menu Démarré

Dans l’exemple suivant, mon planificateur de tâches contient des tâches « auto-générées » par une Application présente sur mon OS Server (Optimize Start ****), mais aussi deux autres créées « manuellement » : reboot & Update check

Si vous souhaitez migrer votre plateforme Windows Server (2008 R2 ou ultérieur) vers un nouveau matériel (New Hardware) ou nouvelle VM, le planificateur de tâches vous offre la possibilité de migrer (exporter) vos tâches planifiées une par une, si vous en avez 100 ou 200 tâches planifiées … vous devriez donc les exporter à la main, une par un … 😦

HowTo : migrer toutes vos tâches planifiées en une seule opération 🙂

La migration des tâches planifiées d’un serveur à un autre est assez simple.

Il faut savoir que « par défaut », toute tâche planifiée créée est automatiquement placée dans le dossier suivant :

C:\Windows\System32\Tasks

Si je reprends l’exemple précédent, mes tâches planifiées « Optimize Start… » ainsi que « Reboot & Update check » sont donc bien présentes dans C:\Windows\System32\Tasks, voir Screenshot ci-dessous :

Pour les migrer vers un nouveau serveur (Physique ou Virtuel), il suffit de copier le dossier C:\Windows\System32\Tasks et copier son contenu et le coller dans le même dossier du nouveau Serveur.
Et voilà le tour est joué :).

 

Introduction à l’outil CLI « APPCMD.exe »

AppCmd.exe est un Outil en ligne de commande (CLI) fourni avec le rôle Windows Server « IIS ».

C’est un outil d’administration très puissant qui vous permet (entre autres) de :

Créer, configurer et gérer des Sites IIS

Créer, configurer et gérer des Applis et Pools d’Applications IIS

Créer, configurer et gérer des Virtual Directories (Répertoire virtuels IIS)

Démarrer, arrête et recycler les Pools d’application

Afficher/Visualiser des informations sur les Worker Process

…Etc

Pour finir, AppCmd.exe vous permet non seulement de réaliser toutes les tâches d’administration classiques que vous pouvez effectuer depuis l’outil graphique IIS Manager (InetMgr.exe) mais aussi d’industrialiser /d’automatiser à l’aide de scripts Bat(ch) toute tâche d’administration /configuration fastidieuse et répétitive.

 

Définir le chemin par défaut d’AppCmd.exe

Les Best Practices IIS consistent à définir (forcer) le chemin by default de l’outil AppCmd.exe au niveau de la %var% d’environnement %PATH%, cette opération vous faciltera l’utilisation de l’outil car vous pourrez l’appeler depuis n’importe quel CMD Folder et vous n’aurez donc plus à faire du CD (Change Directory) à chaque fois que vous souhaitez appeler /lancer AppCmd.exe

Pour ce faire, la commande ci-dessous est à exécuter sur tous les serveurs IIS Server faisant parti de votre infrastructure système MS (Windows Server 2008 et ultérieur).

SETX PATH « %PATH%;%WINDIR%\System32\inetsrv » /M

Saisissez ensuite la commande suivante pour vérifier que la valeur de la variable %PATH% a bien été Updatée :

Echo %PATH%

Vous pouvez également vérifier le contenu de la variable %PATH% depuis les propriétés systèmes du serveur IIS > Variables d’environnement

Et voilà le tour est joué :).

Stay Connected, plusieurs HowTo IIS sont en cours de préparation.

N’hésitez pas à vous abonner à mon Blog pour rester informé de toute nouvelle publication ^^

See you soon.

#HK

 

S’applique à : IIS Windows Server {2008 /2008 R2 /2012 /2012 R2 /2016}

J’ai récemment réalisé un audit de sécurité sur une infrastructure système Microsoft comprenant plusieurs serveurs Web IIS exécutant Windows Server 2008 R2, 2012 R2 et 2016, après réalisation de quelques tests fonctionnels et analyse des output files, j’ai détecté une faille de sécurité sur une Application Web (d’un éditeur tiers) permettant de récupérer les credentials (login/password) sur certaines pages.

Après étude de la vulnérable, il a été constaté que malgré la configuration du certificat SSL (WebApp accessible en HTTPS Only), certaines pages étaient toujours accessibles en HTTP.

Pour remédier à ce problème de sécurité, la solution suivante a été proposée au client :

Forcer la redirection du trafic HTTP vers le HTTPS sur toutes les pages du WebSite IIS.

Comment ça marche ?

La réponse est le Wonderful module /extension IIS : URL Rewrite.

URL Rewrite Module, qu’est ce que c’est ?

Je vous invite à consulter la vidéo ci-après pour en savoir plus :

En quelque mots : URL Rewrite est un module IIS qui vous permet de créer de Powerful Rules pour optimiser l’expérience utilisateur IIS.

En effet, à l’aide cette extension, vous avez la possibilité d’implémenter des règles pour utiliser des URLs simples et faciles à retenir.

Cela comprend la redirection d’URL /pages mais aussi le type de trafic (e.g : HTTP vers HTTPS).

La dernière version disponible au moment de l’écriture du présent post est la 2.1

Celle-ci prend désormais en charge IIS Windows Server 2016, elle est disponible en téléchargement gratuit ici.

Téléchargez et installez l’extension URL Rewrite sur tous vos serveurs IIS hébergeant la ou les WebApp(s) pour la(les)quelle(s) la redirection vers le HTTPS sera configurée.

Installer URL Rewrite 2.1

Une fois téléchargé, double-cliquez sur le fichier (.exe) pour lancer l’installation du module Rewrite URL.

L’assistant d’installation suivant apparaît :

Cliquez sur « Install » pour démarrer l’installation :

L’installation démarre …

Une fois déployé, l’assistant retourne le message suivant :

 

HowTo : Rediriger le HTTP vers le HTTPS sur une WebApp IIS

Commencez par lancer le Gestionnaire IIS (IIS Manager) en exécutant l’outil InetMgr.exe depuis le Menu « Exécuter » ou « Démarrer »

Sélectionnez le Site Web IIS pour lequel vous voulez rediriger le traffic HTTP vers HTTPS.

Dans l’exemple suivant, la WebApp « XXXXX » sera sélectionnée. Depuis le volet droit, localisez et double-cliquez sur « URL Rewrite »

Depuis le menu « Actions », cliquez sur « Add Rule(s)… »

L’assistant de création de règles suivant apparaît, sélectionnez « Blank rule » et cliquez sur « Ok »

Remplissez les champs ci-dessous de la manière suivante :

Name : HTTP to HTTPS

Pattern : (.*)

Sous « Conditions« , cliquez sur « Add… » pour ajouter une nouvelle condition

Créer /ajouter la condition suivante :

Condition input : {HTTPS}

Check if input string : Matches the Pattern

Pattern : ^OFF$

Sous « Action« , configurer l’action de la manière suivante :

Action type : Redirect

Redirect URL : https://{HTTP_HOST}/{R:1}

Redirect type : See Other (303)

Enfin, cliquez sur « Apply » pour appliquer votre règle URL Rewrite

Une fois créée, la règle URL Rewrite apparaît dans la liste :

 

Faites un test en saisissant simplement http://suivi_de_URL_de_Votre_WebApp et constatez la redirection vers https://suivi_de_URL_de_Votre_WebApp

 

Malgré l’ajout des ~2300 nouvelles Cmd-lets PowerShell sur Windows Server 2012 R2 et 2016, le meilleur outil de gestion du Networking & Firewalling Windows reste (pour moi :D) le super Command-Line Tool Netsh.exe (Windows Network Shell).

En effet, Windows PowerShell fonctionne aujourd’hui qu’avec un sous-ensemble de fonctionnalités de management Windows Server, n’incluant pas la possibilité de configurer et gérer le Pare-feu Windows et ses fonctions avancées.

J’ai donc décidé de vous regrouper dans le présent post les « Top 10″ des Commandes Netsh que vous devez connaître pour créer, configurer et gérer vos Pare-feu Windows (Client & Server).

Les commandes détaillées ci-dessous peuvent aussi vous être utile lors de la configuration du Firewall Windows IaaS (E.g : VM Azure ou AWS)

 

1.Afficher /Lister une règle spécifique ou toutes les règles du Pare-feu Windows
  • Afficher toutes les règles : netsh advfirewall firewall show rule name=all
  • Afficher une règle spécifique (« SQL » dans l’exemple suivant) : netsh advfirewall firewall show rule name=SQL


2.Activer /Désactiver un ou plusieurs profils du Pare-feu Windows
  • Activer tous les profils du Pare-feu Windows : Netsh advfirewall set allprofiles state on
  • Désactiver tous les profils du Pare-feu Windows : Netsh advfirewall set allprofiles state off
  • Activer le profil « Public » du Pare-feu Windows : Netsh advfirewall set publicprofile state on
  • Désactiver le profil « Privé » du Pare-feu Windows : Netsh advfirewall set privateprofile state off
  • Activer le profil « Domaine » du Pare-feu Windows : Netsh advfirewall set domainprofile state on

3.Réinitialiser les stratégies (par défaut) du Pare-feu Windows
  • netsh advfirewall reset

4.Afficher et Configurer les fichiers Logs du Pare-feu Windows

Notez que le chemin par défaut des fichiers « Logs » liés au Pare-feu Windows est le suivant : C:\Windows\system32\LogFiles\Firewall\pfirewall.log

Vous pouvez visualiser ce chemin par défaut (pour tous les profils du Pare-feu) en exécutant la commande suivante :

  • netsh advfirewall show allprofiles logging

Nous allons définir dans l’exemple suivant le chemin « D:\WSFirewall\Logs\pfirewall.log », pour tous les profils du Pare-feu Windows (Domaine – Privé – Public)

  • netsh advfirewall set allprofiles logging filename « D:\WSFirewall\Logs\pfirewall.log« 

Note : après configuration d’un nouvel emplacement du fichier log pfirewall.log, l’ancien fichier log placé dans le chemin par défaut est automatiquement déplacé et renommé en .old


5.Autoriser ou Refuser le « Ping »
  • Autoriser le « Ping »: netsh advfirewall firewall add rule name= »All ICMP V4″ dir=in action=allow protocol=icmpv4
  • Refuser le « Ping » : netsh advfirewall firewall add rule name= »All ICMP V4″ dir=in action=block protocol=icmpv4

6.Ajouter (Autoriser) ou Supprimer un Port spécifique
  • Ajouter une nouvelle règle autorisant le port 1433 (port par défaut utilisé par SQL Server) : netsh advfirewall firewall add rule name= »Autoriser_Port_SQL Server » dir=in action=allow protocol=TCP localport=1433
  • Supprimer la règle précédente autorisant le port 1433 (port par défaut utilisé par SQL Server) : netsh advfirewall firewall delete rule name= »Autoriser_Port_SQL Server » protocol=tcp localport=1433

7.Autoriser un Programme
  • Dans l’exemple suivant, le Programme « IPScan » placé dans C:\Program Files\IPScan\IPScan.exe » sera autorisé : netsh advfirewall firewall add rule name= »Autoriser_IPScan » dir=in action=allow program= »%ProgramFiles%\IPScan\IPScan.exe »

8.Activer la gestion à distance
  • netsh advfirewall firewall set rule group= »Gestion à distance de Windows » new enable=yes


9. Activer /autoriser Les Connexions Bureau à distance
  • netsh advfirewall firewall set rule group= »Bureau à distance » new enable=Yes


10.Exporter ou importer la configuration & paramètres du Pare-feu Windows
  • Pour exporter toute la configuration du Pare-feu Windows vers D:\WSFirewall : netsh advfirewall export « D:\WSFirewall\WFconfiguration.wfw »

  • Pour exporter toute la configuration du Pare-feu Windows vers D:\WSFirewall : netsh advfirewall export « D:\WSFirewall\WFconfiguration.wfw »

Je vous laisse Run > Netsh Advfirewall /? et découvrir le reste des commandes.

Enfin, toujours gardez à l’esprit que le CLI Netsh.exe fait parti des outils en ligne de commande Windows les plus puissants (et compliqué aussi). Toujours PoC(er), Tester et Valider l’opération sur un LaB /Environnement d’Intégration /PréProd …Etc avant toute application sur les serveurs de Production.

A bientôt