Archives de la catégorie ‘Outils en ligne de commande’

 

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

Publicités

Hello RDS Guys,

Je viens de créer un partage « OneDrive » dans lequel j’ai ajouté tous les scripts (développés par mes soins) liés au rôle RDS et au protocole RDP.

Ils sont accessibles en free download, à l’URL suivante :

https://1drv.ms/f/s!Agu0mgqr6F71pUWk4wK4fwu6H5_Q

Enjoy !

HK

Vous découvrez à travers cette vidéo l’outil en ligne de commande « NET.exe » ainsi que les différents modes et contextes dans lesquels vous pouvez l’exécuter.
Pour vous permettre de vous familiariser avec l’outil, les explications sont suivies de plusieurs démonstrations techniques.

N’hésitez pas à « Liker & Partager » cette vidéo et vous abonner à notre chaine YT pour être informé de toute nouvelle vidéo publiée.
Stay in touch :);

A bientôt

HK

Cette vidéo vous montre comment retrouver tous les mots de passe Wi-Fi enregistrés sur votre machine Windows 10.

Notez que cette technique est valable aussi pour Windows Vista, Windows 7 ainsi que Windows 8 et 8.1

N’hésitez pas à vous abonner à la chaîne pour être informé de la publication des nouvelles astuces IT.

Keep in touch :).

HK.

 

S’applique à : Windows XP, Windows 2003 Server, Windows Vista, Windows 7, Windows 2008 Server, Windows 2008 Server R2, Windows 8, Windows 8.1, Windows 2012 Server, Windows 2012 Server R2, Windows 10, Windows 2015 Server

A noter que certains paramètres et instructions ne sont disponibles que sur les dernières versions de Windows Server et Windows Client, e.i Windows 8.1 /10 – Windows 2012 Server R2: lancer tsdiscon.exe /? dans un premier temps pour vérifier la liste des paramètres disponibles

Introduction

TSDiscon.exe est un outil en ligne de commande natif dans les systèmes d’exploitation Windows Server et Windows Client.

Il permet de déconnecter une session Windows « locale » ou une session « Bureau à distance » hébergée sur un Serveur Hôte de session Bureau à distance ou Terminal Server.
La déconnexion de la session n’implique pas la fermeture des programmes et processus en cours lancés par l’utilisateur, le travail non enregistré /non sauvegardé de l’utilisateur distant dont la session est déconnectée n’est pas perdu.
Important : Ne pas confondre avec l’outil Logoff.exe, qui permet de fermer une session Windows « locale ou distante » : fermeture de la session utilisateur et de tous les programmes /processus lancés par celui-ci.
Syntaxe

TSDISCON [ID_session | session] [/SERVER:serveur] [/V] [/VM]

-? | Help | Pour obtenir de l’aide. N’hésitez pas à utiliser tsdiscon /? ou tsdiscon -? pour connaître la liste complète des paramètres disponibles pour la version de Windows (Client ou Serveur) installée sur vos machines

ID_session | ID de la session (numéro de session) à déconnecter
session | Nom de la Session à déconnecter
/Server | suivi de : et le nom du serveur distant (Hote de session ou TSE) sur lequel la session à déconnecter est hébergée
/V | Permet d’afficher les informations sur les actions effectuées

NOTE

-> Si le paramètre /Server n’est pas spécifié, le serveur ou poste de travail sur lequel vous êtes connecté est spécifié par défaut !

> Attention à ne pas saisir TSDiscon.exe ou TSDiscon uniquement depuis le même serveur /poste de travail, cela déconnectera votre session actuelle et vous allez vous retrouver avec un écran noir 🙂 !

-> Toutes les commandes ci-dessous sont exécutées depuis l’invite de commande (cmd.exe) lancée en tant qu’Administrateur.

Exemples

* Pour déconnecter la session d’un utilisateur connecté sur le même serveur sur lequel vous êtes connecté

=> Depuis l’invite de commande, vous saisissez dans un premier temps : Query session

1

Comme illustré dans l’image ci-dessus, l’utilisateur hkadiri a une session RDP Actif, nommée RDP-TCP#1 et portant l’ID 3

Supposons que la session Bureau à distance de l’utilisateur hkadiri (avant déconnexion) ressemble à ça :

2

=> Maintenant que nous avons noté les informations sur la session Bureau à distance ouverte par l’utilisateur hkadiri, nous pourrons déconnecter sa session du serveur, soit en utilisant

1. Le nom de sa session actif         : TSDiscon rdp-tcp#1 
2. L’ID de sa session actif              : TSDiscon 3

Notez que dans les 2 cas, la session de l’utilisateur hkadiri est déconnectée. S’il s’agit d’une session Bureau à distance, l’utilisateur hkadiri voit apparaître le message suivant sur son écran :

3

Enfin, si l’utilisateur se reconnecte à sa session locale ou Bureau à distance, il retrouvera ses programmes et fenêtres Windows ayant été ouverts avant la déconnexion.

* Pour déconnecter la session d’un utilisateur connecté sur un serveur distant (TSE et/ou RDSH)

=> Depuis l’invite de commande, vous saisissez dans un premier temps : Query session /Server:NomDuServeurDistant

Dans l’exemple suivant, nous allons lister les sessions Bureau à distance actives sur le serveur distant LABRDSH02

4

=> Pour déconnecter la session de l’utilisateur hkadiri connecté sur le serveur distant LABRDSH02, l’une des commandes suivantes est utilisée :

1. En utilisant le nom de sa session : TSDiscon rdp-tcp#0 /Server:LABRDSH02
2. En utilisant l’ID de sa session       : TSDiscon 3 /Server:LABRDSH02

Enfin, vous pouvez utiliser le paramètre /V pour afficher les actions effectuées, plus précisément l’action de déconnexion de la session spécifiée.

Pour reprendre l’exemple précédent, nous allons déconnecter la session de l’utilisateur distant hkadiri en utilisant l’ID de session et le paramètre /V

TSDiscon 3 /Server:LABRDSH02 /V

Comme montré dans l’image ci-après, l’action (de déconnexion de session) est affichée

5

Pour terminer, le paramètre /VM peut être utilisé pour déconnecter une session ouverte sur un serveur virtuel distant ou poste de travail virtuel exécuté /hébergé sur un Hyperviseur (Hyper-V, ESXi …). Notez qu’uniquement l’ID de la session peut être utilisé mais pas le nom de la session.

 

S’applique à : Windows Vista, Windows 7, Windows 2008 Server, Windows 2008 Server R2, Windows 8, Windows 8.1, Windows 2012 Server, Windows 2012 Server R2, Windows 10, Windows 2015 Server

A noter que certains paramètres et instructions ne sont disponibles que sur les dernières versions de Windows Server et Windows Client, e.i Windows 8.1 /10 – Windows 2012 Server R2: lancer Reset.exe Session /? dans un premier temps pour vérifier la liste des paramètres disponibles

Introduction

Reset.exe est un outil en ligne de commande permettant de réinitialiser une session Bureau à distance hébergée sur un serveur Terminal Server et/ou Hôte de session Bureau à distance.

La réinitialisation de session signifie la suppression de celle ci du serveur distant, donc notez qu’il faut avertir les utilisateurs distants connectés avant de procéder à la réinitialisation de leurs sessions, faute de quoi le travail (non enregistré) sera perdu !

L’outil Reset.exe peut être utilisé dans un seul contexte qu’est : SESSION.

Depuis l’invite de commande (cmd.exe), si vous saisissez reset ou reset.exe, le résultat suivant est retourné:

RESET_1

Comme pouvez le constater, l’outil reset.exe doit toujours être suivi de SESSION, voir la section « Syntaxe » pour la liste des paramètres disponibles avec le mode RESET.EXE SESSION.

Syntaxe

RESET SESSION {NomSession | IDsession} [/SERVER:NomServeur] [/V]

-? | Help | Pour obtenir de l’aide. N’hésitez pas à utiliser reset session /? ou reset session -? pour connaître la liste complète des paramètres disponibles pour la version de Windows (Client ou Serveur) installée sur vos machines

NomSession | Nom de la Session à réinitialiser
IDsession | ID de la session (numéro de session) à réinitialiser
/Server | suivi de : et le nom du serveur distant (Hote de session ou TSE) sur lequel la session à réinitialiser est hébergée
/V | Permet d’afficher les informations sur les actions effectuées

NOTE

-> Si le paramètre /Server n’est pas spécifié, le serveur ou poste de travail sur lequel vous êtes connecté est spécifié par défaut ! 

-> Toutes les commandes ci-dessous sont exécutées depuis l’invite de commande (cmd.exe) lancée en tant qu’Administrateur.

Exemples

* Pour réinitialiser la session d’un utilisateur connecté sur le même serveur sur lequel vous êtes connecté

=> Depuis l’invite de commande, vous saisissez dans un premier temps : Query session

1

Comme illustré dans l’image ci-dessus, l’utilisateur hkadiri a une session RDP Actif, nommée RDP-TCP#1 et portant l’ID 3

=> Maintenant que nous avons noté les informations sur la session Bureau à distance ouverte par l’utilisateur hkadiri, nous pourrons lui réinitialiser sa session du serveur, soit en utilisant

  1. Le nom de sa session actif         : Reset Session rdp-tcp#1 
  2. L’ID de sa session actif              : Reset Session 3

Notez que dans les 2 cas, la session de l’utilisateur hkadiri est réinitialisée.

* Pour réinitialiser la session d’un utilisateur connecté sur un serveur distant (TSE et/ou RDSH) 

=> Depuis l’invite de commande, vous saisissez dans un premier temps : Query session /Server:NomDuServeurDistant

Dans l’exemple suivant, nous allons lister les sessions Bureau à distance actives sur le serveur distant LABRDSH02

8

=> Pour réinitialiser la session de l’utilisateur hkadiri connecté sur le serveur distant LABRDSH02, l’une des commandes suivantes est utilisée :

  1. En utilisant le nom de sa session : Reset Session rdp-tcp#1 /Server:LABRDSH02

  2. En utilisant l’ID de sa session       : Reset Session 3 /Server:LABRDSH02

Enfin, vous pouvez utiliser le paramètre /V pour afficher les actions effectuées, plus précisément l’action de Réinitialisation de la session spécifiée.

Pour reprendre l’exemple précédent, nous allons Réinitialiser la session de l’utilisateur distant hkadiri en utilisant l’ID de session et le paramètre /V

Reset Session 3 /Server:LABRDSH02 /V

Comme montré dans l’image ci-après, l’action (Réinitialisation de session) est affichée:

RESET_2

 

S’applique à : Windows XP, Windows 2003 Server, Windows Vista, Windows 7, Windows 2008 Server, Windows 2008 Server R2, Windows 8, Windows 8.1, Windows 2012 Server, Windows 2012 Server R2, Windows 10, Windows 2015 Server

A noter que certains paramètres et instructions ne sont disponibles que sur les dernières versions de Windows Server et Windows Client, e.i Windows 8.1 /10 – Windows 2012 Server R2: lancer logoff.exe /? dans un premier temps pour vérifier la liste des paramètres disponibles

Introduction

Logoff.exe est un outil en ligne de commande natif dans les systèmes d’exploitation Windows Server et Windows Client.

Il permet de fermer une session Windows « locale » ou une session « Bureau à distance » hébergée sur un Serveur Hôte de session Bureau à distance ou Terminal Server.
Syntaxe

LOGOFF [session | id_session] [/SERVER:serveur] [/V] [/VM]

-? | Help | Pour obtenir de l’aide. N’hésitez pas à utiliser logoff /? ou logoff -? pour connaître la liste complète des paramètres disponibles pour la version de Windows (Client ou Serveur) installée sur vos machines

Session | Nom de la Session à fermer
id session | ID de la session (numéro de session) à fermer
/Server | suivi de : et le nom du serveur distant (Hote de session ou TSE) sur lequel la session à fermer est hébergée
/V | Permet d’afficher les informations sur les actions effectuées

NOTE

-> Si le paramètre /Server n’est pas spécifié, le serveur ou poste de travail sur lequel vous êtes connecté est spécifié par défaut ! attention à ne pas saisir Logoff.exe ou Logoff uniquement depuis le même serveur /poste de travail, cela fermera votre session !

-> Toutes les commandes ci-dessous sont exécutées depuis l’invite de commande (cmd.exe) lancée en tant qu’Administrateur.

Exemples

* Pour fermer la session d’un utilisateur connecté sur le même serveur sur lequel vous êtes connecté

=> Depuis l’invite de commande, vous saisissez dans un premier temps : Query session

1

Comme illustré dans l’image ci-dessus, l’utilisateur hkadiri a une session RDP Actif, nommée RDP-TCP#1 et portant l’ID 3

=> Maintenant que nous avons noté les informations sur la session Bureau à distance ouverte par l’utilisateur hkadiri, nous pourrons fermer sa session du serveur, soit en utilisant

1. Le nom de sa session actif         : Logoff rdp-tcp#1 
2. L’ID de sa session actif              : Logoff 3

Notez que dans les 2 cas, la session de l’utilisateur hkadiri est fermée.

* Pour fermer la session d’un utilisateur connecté sur un serveur distant (TSE et/ou RDSH) 

=> Depuis l’invite de commande, vous saisissez dans un premier temps : Query session /Server:NomDuServeurDistant

Dans l’exemple suivant, nous allons lister les sessions Bureau à distance actives sur le serveur distant LABRDSH02

8

=> Pour fermer la session de l’utilisateur hkadiri connecté sur le serveur distant LABRDSH02, l’une des commandes suivantes est utilisée :

1. En utilisant le nom de sa session : Logoff rdp-tcp#1 /Server:LABRDSH02

2. En utilisant l’ID de sa session       : Logoff 3 /Server:LABRDSH02

Enfin, vous pouvez utiliser le paramètre /V pour afficher les actions effectuées, plus précisément l’action de Fermeture de la session spécifiée.

Pour reprendre l’exemple précédent, nous allons fermer la session de l’utilisateur distant hkadiri en utilisant l’ID de session et le paramètre /V

Logoff 3 /Server:LABRDSH02 /V

Comme montré dans l’image ci-après, l’action (fermeture de session) est affichée:

120

Pour terminer, le paramètre /VM peut être utilisé pour fermer une session ouverte sur un serveur virtuel distant ou poste de travail virtuel exécutée sur un Hyperviseur. Notez qu’uniquement l’ID de la session peut être utilisé mais pas le nom de la session.