Archives de la catégorie ‘Windows Client’

Introduction

Vous devez sûrement connaître le fameux client « Connection Bureau à distance » fourni nativement avec les OS Windows (Client & Server). Cette Windows Desktop App fait simplement appel à l’outil MSTSC.exe qui est, aujourd’hui utilisé par la quasi totalité des Admins devant gérer et administrer (à distance) des plateformes Windows Server.

 

Note : Petit reminder, l’outil MSTSC.exe est (par défaut) placé dans : C:\Windows\System32\mstsc.exe

 

En outre, Microsoft propose depuis quelques années un client lourd « Multi-Platforme** » appelé « Remote Desktop« . Cette App est en effet disponible pour :

  • Mac OS X (depuis Mac Apple Store)
  • iOS (depuis Apple Store)
  • Android (depuis Google Play Store)

 

** Vous trouverez ci-dessous les liens de téléchargement de l’App « Remote Desktop », pour les différentes plateformes :

 

Session Bureau à distance « Windows 7 » sur un Smartphone « Samsung »

 

Après avoir sorti cette App « Cross-Platform », Microsoft a commencé à travailler sur son client Web HTML5, appelé RD (Remote Desktop) Web Client 🙂

Ce client est proposé depuis RDS Windows Server 2016 sous forme d’extension/plug-in du service RD Web Access.

Nous allons découvrir à travers cet article comment installer et configurer ce nouveau client RD Web sous RDS 2016.

Let’s Do It !

 

Prérequis

Le déploiement du client RD Web nécessite un certain nombre de prérequis, à savoir :

  • Votre (ou vos) Serveur(s) RD Web Access doit exécuter (à minima) Windows Server 2016 (ou 2019)
  • Votre déploiement RDS 2016 doit comporter (au moins) une Passerelle RDS
  • Les CAL RDS installées doit être de type « Par-Utilisateur« 
  • Les certificats SSL configurés pour la Passerelle RDS et le Serveur RD Web Access doit être délivrés et signés par une CA (Certification Authority) valide Publique : les certs SSL auto-signés empêchent l’utilisation du client RD Web
  • Seuls les connexions provenant des OS Suivants seront acceptés par le Client RD Web :
    • Windows 10
    • Windows Server 2008 R2 (ou ultérieur)

 

HowTo : Installer le client RD Web HTML5 sur un déploiement RDS 2016

Suivez les instructions suivantes pour installer correctement le client RD Web HTML5 au niveau de votre déploiement RDS 2016 :

  • Tout d’abord, ouvrez une Session Windows sur le serveur RD Web Access
  • Lancez Windows PowerShell en tant qu’Administrateur
  • Saisissez la commande suivante pour mettre à jour le module « PowerShellGet« 

Install-Module -Name PowerShellGet –Force

Note : Saisissez Y (comme Yes) pour confirmer l’exécution de la commande

  • Fermez la console PowerShell, et ré-ouvrez une nouvelle instance pour que l’Update du module PowerShellGet soit prise en compte
  • Exécutez la commande suivante pour installer le Module de Gestion du client RD Web :

Install-Module -Name RDWebClientManagement

  • Vous êtes invités à accepter les termes du contrat de Licence, saisissez A comme [All] et validez en cliquant sur Entrée :

  • Vous devez ensuite exécuter la commande suivante pour installer la dernière version du client RD (Remote Desktop) Web :

Install-RDWebClientPackage

  • Une fois le Package du Client RD Web installé, exécutez la commande suivante et notez le résultat :

Get-RDWebClientPackage

Maintenant, vous devez exporter le certificat SSL utilisé par votre service Broker. Ouvrez une Session Windows sur le Serveur Broker et lancez la console (snap-in) MMC > Ajouter « Certificats » > pour le « Compte d’Ordinateur » > Développez « Personal >> Certificats »

Faites un clic-droit sur le certificat utilisé par le service Broker. Dans l’exemple suivant, un seul certificat (rdgateway-hk.corp) a été utilisé pour signer tous les échanges Broker/RDWeb/RDG

  • Le fichier .Cer a été exporté et placé dans C:\
  • Le fichier .Cer exporté précédemment (C:\rdgateway-hk.cer) sera utilisé lors de la prochaine opération pour prendre en charge l’authentification SSO depuis le Client RD Web.
  • Exécutez la commande suivante en spécifiant l’emplacement vers lequel le .Cer a été exporté et placé :

Import-RDWebClientBrokerCert C:\RDGateway-hk.cer

  • Enfin, exécutez la commande PS suivante pour publier le nouveau client RD Web :

Publish-RDWebClientPackage -Type Production –Latest

Note importante : cette commande doit être exécutée si vous devez déployer le client RD Web dans un environnement de production, si vous souhaitez simplement « PoKé » le client RD Web sur un environnement de Test/Dev/Hom, exécutez plutôt la commande suivante :

Publish-RDWebClientPackage -Type Test –Latest

 

Let’s Test tout ça :).

Pour se connecter à votre client RD Web, la syntaxe de l’URL à utiliser est la suivante :

  • Si Installation en Production (paramètre -Type Production)

https://FQDN-de-votre-RDWebAccess.com/RDWeb/WebClient

  • Si Installation en environnement de Test (paramètre -Type Test)

https://FQDN-de-votre-RDWebAccess.com/RDWeb/WebClient-Test

Dans l’exemple suivant, je me connecte sur mon portail RD Web Access hébergé dans Azure. Comme illustré dans la capture d’écran ci-dessous, je suis connecté sur https://rdgateway-hk.xxxxxxxx.com/RDweb/webclient :

Une fois authentifié sur le Portail, je retrouve toutes mes Applis publiées (RemoteApps) :

Je lance une RemoteApp (Server Manager dans l’exemple suivant) …. :

Une fois lancé, je retrouve ma RemoteApp (Server Manager) depuis mon client RD Web.

Comme vous pouvez le voir, le client « lourd » local (MSTSC.exe) n’est pas lancé/utilisé, et je suis dans un mode « Full Web » 🙂 :

J’ai aussi lancé une instance WordPad 🙂 :

N’hésitez pas à publier vos RemoteApps favorites et les tester depuis le client RD Web.

Enjoy :).

 

Note : Un nouvel article sur le RD Web Client sous RDS 2019 arrive bientôt. Stay connected.

#HK o_O

Publicités

L’équipe Windows Corp a récemment annoncé (01 Octobre/18) la disponibilité des paramètres de la « Security Configuration Baseline » pour Windows 10 1809 (RS5 > “Redstone 5« ) et Windows Server 2019.

Notez qu’il s’agit ici d’une version « Draft« . La version finale ne devrait pas tarder à arriver. Stay connected, abonnez-vous sur le Blog de MS TechNet

Le contenu de cette « Security Baseline » est disponible en téléchargement à l’URL suivante :

Windows-10-1809-Security-Baseline-DRAFT.zip

 

Contenu de la Security Baseline ?

Le zip file contient plusieurs :

  • GPOs : plusieurs GPOs sont fournies avec le fichier zip téléchargé via le lien ci-dessus. Ces GPOs peuvent être importées directement dans votre environnement Windows.
  • Script PowerShell : des scripts PowerShell sont également fournis avec le fichier zip. Ceux-ci vous permettent d’appliquer directement les GPOs à vos stratégies locales
  • Fichiers ADMX personnalisés
  • Documentations : plusieurs documents techniques intéressants sont disponibles :
    • MS Security Baseline Windows 10 v1809 and Server 2019.xlsx : La liste complète des paramètres applicables à WS 10 1809 et WS Server 2019
    • BaselineDiffs-to-v1809-RS5-DRAFT.xlsx : La liste des paramètres qui sont modifiés entre Windows 10 1803 et Windows 10 1809, et ceux modifiés entre Windows Server 2016 et Windows Server 2019
    • Windows 10 1803 to 1809 New Settings.xlsx : Les nouveaux paramètres introduits avec Windows 10 1809
    • Server 2016 to 2019 New Settings.xlsx : Les nouveaux paramètres introduits avec Windows Server 2019

 

Consultez cet article pour en savoir plus

 

Introduction

Dans le cadre d’un projet de Hardening/Sécurisation d’infrastructures systèmes (Windows Server ou Client), vous pouvez avoir comme exigence « La désactivation des ports USB /Accès aux USB Devices ».

Cela peut concerner sur les serveurs (Physiques ou Virtuels) et/ou Postes de travail.

Pour répondre à cette exigence, Microsoft fourni par défaut dans ses OS (Client & Server) des paramètres de Stratégie de Groupe vous permettant de mettre en place cette restriction.

Alors, comment ça marche ?

Avant l’application de la procédure décrite ci-dessous, Notez que dans l’exemple ci-dessous, mon Laptop (un WS10 > 1803) permet toujours l’accès à mes devices USB :

Maintenant lancez l’outil GPMC.msc si vous souhaitez appliquer cette restriction sur plusieurs machines jointes à un domaine AD, ou GPEdit.msc si vous souhaitez d’abord tester et valider la procédure sur une machine localement.

Développez ensuite :

Configuration Ordinateur > Stratégies > Modèles d’Administration > Système > Accès au stockage amovible > Toutes les classes de stockage amovible : refuser tous les accès

Pour désactiver l’accès aux devices USB, il suffit de cochez « Activé » :

Après application/refresh des stratégies de groupe (GpUpdate /Target:Computer), l’accès aux USB devices (USB Keys, External Disks…etc) devient interdit (accès refusé) :

 

Astuce : Désactiver les ports USB via Script 

La désactivation des ports USB peut également se faire via Script.

Dans l’exemple suivant, un simple script Batch basé sur le Command-Line Tool « REG.exe » vous permet de réaliser cette opération en changeant la valeur de la Clé « Start » et la positionnant à 4 (au lieu de 3).


REM ==== Important : vous devez exécuter le script en tant qu’Administrateur !
REM ===================================================

REG ADD HKLM\SYSTEM\CurrentControlSet\Services\USBSTOR /v Start /t REG_DWORD /d 4 /f


Information utile

Si vous souhaitez ré-activer l’accès aux ports USB, il suffit d’éditer le fichier (Script Batch) et positionnez la valeur de la clé « Start » à 3

 

Téléchargez le script

Ce script est disponible en téléchargement gratuit depuis la Gallery TechNet.

Téléchargez le script ici.

 

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

 

OpenSSH : Un Quick Overview

OpenSSH est une Collection d’utilitaires Client/Server qui vous permettent d’établir des connexions distantes sécurisées, le (Secure) transfert de fichiers à distance ainsi que le Public/Private Key (Pair) Management.

OpenSSH est un outil extrêmement puissant qui a été créé dans le cadre du projet OpenBSD et qui, reste toujours utilisé depuis de nombreuses années dans les écosystèmes BSD, Linux, MacOS et Unix.

Pour en savoir plus sur OpenSSH, je vous invite à consulter cette page.

 

OpenSSH sur Windows 10, Amazing, Non  ^__^ ?

Je ne sais pas si vous êtes au courant, mais Microsoft à introduit (depuis quelques temps déjà :)) une super fonctionnalité (Optional Feature) au niveau de son OS Client « Windows 10 ». Il s’agit du client OpenSSH (Disponible en version « Beta » au moment de l’écriture de ce post).

Donc, si vous étiez jaloux de vos MacOS & Linux Friends, qui peuvent le faire depuis des siècles, eh bien ne le soyez plus :).

Allez, découvrons comment le Built-in OpenSSH Client peut être installé/activé et utilisé sur Windows 10 :).

 

Options d’installation du Client OpenSSH

Le Client OpenSSH peut être installé/activé via différents tools, à savoir :

Windows PowerShell

DISM.exe

Outil « GUI » : Applications et fonctionnalités

Note : l’installation du client OpenSSH nécessite un reboot de la machine !

 

 HowTo : Installer OpenSSH Client via Windows PowerShell

Pour installer/activer le client OpenSSH via PowerShell, lancez la console PowerShell (en tant qu’Admin) et saisissez la commande suivante :

Add-WindowsCapability –Online –Name OpenSSH.Client~~~~0.0.1.0

Tip : pour supprimer le client OpenSSH via Windows PowerShell, exécutez la commande suivante :

Note : un reboot post-suppression du client OpenSSH est également requis !

 

 HowTo : Installer OpenSSH Client via l’outil DISM.exe

L’outil DISM.exe (Deployment Image Servicing and Management) peut également être utilisé pour installer le client OpenSSH.

Pour ce faire, exécutez la commande suivante depuis une Invite de commande (CMD.exe) ou console PowerShell lancée en tant qu’Admin :

DISM /Online /Add-Capability /CapabilityName:OpenSSH.Client~~~~0.0.1.0

Vous êtes invité à redémarrer votre machine pour que l’install soit prise en compte.

Tip : pour supprimer le client OpenSSH via l’outil DISM, exécutez la commande suivante :

DISM /Online /Remove-Capability /CapabilityName:OpenSSH.Client~~~~0.0.1.0

 

 HowTo : Installer OpenSSH Client via la console « Paramètres Windows > Applications et fonctionnalités »

Depuis l’application « Paramètres Windows« , saisissez « Applications.. », localisez et cliquez sur « Applications et fonctionnalités »

La fenêtre suivante apparaît, cliquez sur « Gérer les fonctionnalités facultatives » :

Enfin, cliquez sur « Ajouter une fonctionnalité« , cherchez et localisez le client OpenSSH sur la liste et enfin, cliquez sur « Installer » pour l’activer sur votre machine.

Tip : la console « Applications et Fonctionnalités » peut être accessible directement depuis le « Search Menu » ou « Menu Exécuter » en saisissant la commande suivante :

ms-settings:appsfeatures


Check post-installation du Client OpenSSH

Vous pouvez utiliser les techniques ci-dessous pour vérifier que le client OpenSSH a bien été installé

Check depuis Windows PowerShell

Exécutez la commande suivante :

Get-WindowsCapability -Online | ? Name -like 'OpenSSH.Client'

Check depuis DISM

Exécutez la commande suivante :

DISM /Online /Get-CapabilityInfo /CapabilityName:"OpenSSH.Client~~~~0.0.1.0"

Le résultat suivant vous est retourné normalement :

Check depuis la console « Applications et Fonctionnalités »

Depuis la console « Gérer les fonctionnalités facultatives« , vérifiez que le client OpenSSH (Beta) fasse bien parti de la liste des Features installées :

 

HowTo : se connecter à l’aide du client OpenSSH Windows 10

Une fois installé, il suffit de saisir SSH suivi du nom d’utilisateur @ nom ou adresse IP du serveur distant pour se connecter via le client OpenSSH.

Dans l’exemple suivant, nous établissons une connexion sur l’hôte 10.100.10.10 en utilisant un compte utilisateur local nommé « hkroo » (déclaré sur la machine/serveur SSH distant) :

SSH hkroot@10.100.10.10

Cette commande peut être exécutée depuis l’Invite de commande ou une console Windows PowerShell (lancée en tant qu’Administrateur).

Note : si vous devez établir une connexion SSH à l’aide d’un compte faisant parti d’un domaine AD (hkadmin du domaine hklab.lan dans l’exemple suivant), la syntaxe devient la suivante :

SSH hkadmin@hklab@10.100.10.10

 

OpenSSH, toujours en version Beta (au 05/05/2018)

Comme vous avez pu le constater, le Client et Server OpenSSH sont toujours en mode « Beta Release » (au moment de la publication du présent post), il n’est donc pas recommandé de déployer cette Feature dans vos environnements de Production.

D’ailleurs, n’hésitez pas à remonter vos feedbacks /remarks /comments à MS si vous souhaitez contribuer à l’amélioration/évolution de cette super fonctionnalité :).

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é :).