Administrer les PC sur le réseau local avec PowerShell via HTTPS
Comment administrer des ordinateurs connectés au réseau local à l’aide de PowerShell et transférer des données sous forme chiffrée à l’aide du protocole HTTPS.
Dans l’article Gérer les PC sur un réseau local avec PowerShell nous avons vu que pour un administrateur système cela devient très simple connectez-vous aux autres PC du réseau local et gérez-les confortablement depuis votre propre machine.
Dans cet article, nous avons vu comment activer et utiliser le service Gestion à distance Windows (WS-Management) intégré dans le système d’exploitation avec les données qui circulaient entre le serveur et le client (et vice versa) en clair, sans l’application d’aucun algorithme cryptographique.
À partir de ce que nous avons déjà appris, cette fois nous voyons comment administrer les PC sur le réseau local en utilisant toujours PowerShell mais en activant le chiffrement des paquets en transit avec le protocole HTTPS.
Les étapes qui vous permettent de vous connecter aux PC LAN via HTTPS sont encore plus simples que celles décrites dans l’article mentionné au début.
Comment gérer les ordinateurs sur le réseau local avec PowerShell et le protocole HTTPS: configuration du système serveur
Encore une fois, pour plus de simplicité, nous appelons le système qui doit être administré à distance sur le réseau local un «serveur».
Sur ce système, vous devrez d’abord ouvrir une fenêtre Windows PowerShell avec des droits d’administrateur (Windows + X) et tapez ce qui suit:
$ Cert = New-SelfSignedCertificate -CertStoreLocation Cert: LocalMachine My -DnsName $ env: computername
Cela créera un certificat numérique auto-signé qui sera utilisé plus tard pour confirmer «l’identité» de la machine serveur.
Il sera donc nécessaire d’exporter la clé publique associée à ce certificat. Pour continuer, vous devrez écrire:
md C: TEMP
Certificat d’exportation -Cert $ Cert -FilePath C: TEMP CERT.cer
La première commande vous permet de créer un dossier C: TEMP: si ce chemin existe déjà, vous obtiendrez le message d’erreur « Un élément avec le nom spécifique existe déjà« . Ignorez l’erreur.
Comme dans l’article cité en introduction, il suffira à ce stade de taper la commande:
Enable-PSRemoting -Force
Vous pouvez éventuellement utiliser la syntaxe Enable-PSRemoting -SkipNetworkProfileCheck -Force pour empêcher le serveur de répondre aux tentatives de connexion entrantes lorsque l’interface réseau est configurée comme Publique et pas comment Privé: Différence entre réseau public et réseau privé dans Windows 10.
Puisque par défaut le service Gestion à distance Windows (WS-Management) est configuré pour fonctionner sur le protocole HTTP – donc avec tous les paquets de données envoyés et reçus en texte clair -, les commandes suivantes vous permettront de désactiver l’utilisation des informations non chiffrées:
Get-ChildItem WSMan: Localhost listener | Où -Clés de propriété -eq « Transport = HTTP » | Remove-Item -Recurse
Remove-Item -Path WSMan: Localhost listener listener * -Recurse
Set-NetFirewallRule -DisplayName ‘Gestion à distance Windows (HTTP-In)’ -Enabled False -PassThru | Sélectionnez -Property DisplayName, Profile, Enabled
Après avoir supprimé tous les auditeur existant, il suffit d’en ajouter un pour le protocole HTTPS uniquement:
Nouvel élément -Path WSMan: LocalHost Listener -Transport HTTPS -Address * -CertificateThumbPrint $ Cert.Thumbprint -Force
Avec l’utilisation de la variable $ Cert il s’indique au service Gestion à distance Windows (WS-Management) pour utiliser le certificat précédemment auto-généré.
À ce stade, comme dernière étape, les règles de pare-feu doivent être créées pour accepter les connexions chiffrées (sur le port TCP 5986):
New-NetFirewallRule -DisplayName « Windows Remote Management (HTTPS-In) » -Name « Windows Remote Management (HTTPS-In) » -Profile Any -LocalPort 5986 -Protocol TCP
Configuration du client
La configuration de la machine que l’administrateur utilisera pour gérer à distance d’autres systèmes connectés au réseau local est très simple.
Vous devez d’abord appuyer sur la combinaison de touches Windows + X Alors choisi Windows PowerShell (administrateur).
Dans la fenêtre PowerShell, vous devrez taper les deux commandes suivantes pour configurer et démarrer le service Gestion à distance Windows (WS-Management):
Set-Service WinRM -StartupType 2 -PassThru
Démarrage du service WinRM -PassThru
Il faudra donc importer le fichier contenant la clé publique du système serveur (en le copiant manuellement depuis cette machine). En supposant que vous ayez stocké le fichier CERT.cer sur le bureau Windows, vous devrez taper à partir de PowerShell:
Import-Certificate -Filepath « $ env.userprofile Desktop CERT.cer » -CertStoreLocation « Cert: LocalMachine Root »
À ce stade, il est possible de se connecter via PowerShell et HTTPS à l’autre machine en tapant:
Enter-PSSession -ComputerName NOM DU SERVEUR -UtiliserSSL -Credential NOM D’UTILISATEUR
À la place de NOM DU SERVEUR évidemment, vous devrez taper le nom du serveur en remplaçant NOM D’UTILISATEUR avec le nom d’un compte sur la machine serveur avec des privilèges administratifs.
Au cas où PowerShell affiche le message « Le certificat SSL est signé par une autorité de certification inconnue« , pour résoudre le problème, tapez simplement ce qui suit:
$ so = Nouvelle-PSSessionOption -SkipCACheck
Enter-PSSession -ComputerName NOM DU SERVEUR -UtiliserSSL -Credential NOM D’UTILISATEUR -SessionOption $ donc
À ce stade, l’invite de la machine distante apparaît et vous pouvez l’administrer (en exécutant des commandes et des scripts, y compris PowerShell) comme si vous étiez physiquement assis devant lui.
Désactivez et réactivez la règle de pare-feu entrant sur les systèmes serveur
Si, par la suite, vous souhaitez désactiver la gestion des demandes d’administration provenant d’autres PC, il vous suffit de taper désactiver la règle de pare-feu entrant sur la machine serveur:
Disable-NetFirewallRule -DisplayName « Gestion à distance Windows (HTTPS-In) »
Pour le réactiver, utilisez simplement la commande suivante si nécessaire:
Enable-NetFirewallRule -DisplayName « Gestion à distance Windows (HTTPS-In) »
Désactivez le service de gestion à distance Windows sur l’ordinateur client
Si par la suite vous souhaitez désactiver le service de gestion à distance sur la machine utilisée pour administrer d’autres ordinateurs sur le réseau local, ouvrez simplement une fenêtre PowerShell avec des droits d’administration et utilisez quelques commandes simples:
Arrêt-service WinRM -PassThru
Set-Service WinRM -StartupType désactivé -PassThru
Désinstaller le service de gestion à distance sur les serveurs
La désinstallation complète du service de gestion à distance sur les systèmes serveur est légèrement plus complexe. Voici les commandes à donner à partir de la fenêtre PowerShell ouverte avec les droits d’administrateur:
Désactiver-PSRemoting -Force
Remove-Item -Path WSMan: localhost listener listener * -Recurse
Arrêt-service WinRM -PassThru
Set-Service WinRM -StartupType désactivé -PassThru
Set-NetFirewallRule -DisplayName ‘Gestion à distance Windows (HTTP-In)’ -Enabled False -PassThru | Sélectionnez -Property DisplayName, Profile, Enabled
Set-NetFirewallRule -DisplayName «Gestion à distance Windows (HTTPS-In)» -Enabled False -PassThru | Sélectionnez -Property DisplayName, Profile, Enabled
Set-ItemProperty -Path HKLM: SOFTWARE Microsoft Windows CurrentVersion policies system -Name LocalAccountTokenFilterPolicy -Value 0
Découvrez également plus d’articles dans nos catégories windows, internet et web et encore Ordinateurs et internet.
Finalement Merci pour votre visite on espère que notre article Administrer les PC sur le réseau local avec PowerShell via HTTPS
vous aide, on vous invite à partager l’article sur Facebook, instagram et e-mail avec les hashtag ☑️ #Administrer #les #sur #réseau #local #avec #PowerShell #HTTPS ☑️!