NPS – Comment ajouter un client Radius avec PowerShell ?
Sommaire
I. Présentation
Lors de la mise en place d'un serveur Radius sous Windows Server au travers du rôle NPS, il faut ajouter les clients Radius à la configuration. Les clients Radius peuvent correspondre à vos switchs, vos bornes Wi-Fi, etc... en fonction de la configuration que vous souhaitez mettre en place.
Pour ajouter un client Radius, on peut bien sûr le faire via la console de gestion en mode graphique mais aussi en PowerShell, c'est ce que je vous propose de voir. Dans ce tutoriel, nous allons construire un fichier CSV contenant la liste des clients Radius et ensuite les importer sur notre serveur.
II. Le fichier CSV pour Radius
Nous allons créer un fichier CSV, avec deux colonnes : le nom du client Radius et son adresse IP. Ensuite, sur chaque ligne, on va ajouter un client Radius. Ce qui donne :
Name;IPAddress ClientRadius1;192.168.1.11 ClientRadius2;192.168.1.12 ClientRadius3;192.168.1.13 ClientRadius4;192.168.1.14
Note : Si vous souhaitez utiliser un secret partagé par client Radius, c'est possible ! Il suffit d'ajouter une colonne supplémentaire dans le fichier CSV et de l'exploiter ensuite dans le script.
Notre fichier étant prêt, nous pouvons passer à la suite.
III. Ajouter des clients Radius avec PowerShell
Ouvrez votre éditeur de script préféré, PowerShell ISE ou un autre, pour coder le script. Commençons par déclarer deux variables :
- $RadiusClientFile : il va contenir le contenu du fichier CSV que l'on importe via Import-CSV
- $SharedSecret : le secret partagé, unique, qui sera utilisé sur tous les clients que l'on va créer
Ce qui nous donne :
$RadiusClientFile = Import-CSV -Delimiter ";" -Path "C:\Liste_AP.csv" $SharedSecret = "MonSecretPartageDeFou"
Maintenant, il ne reste plus qu'à faire une boucle pour traiter chaque ligne du fichier CSV et ajouter chaque client Radius :
Foreach($ClientRadius in $RadiusClientFile){ New-NpsRadiusClient -Address $ClientRadius.IPAddress -Name $ClientRadius.Name -SharedSecret $SharedSecret }
En PowerShell, le cmdlet New-NpsRadiusClient va permettre de créer les clients Radius grâce à trois paramètres : l'adresse IP, le nom et le secret partagé. Cela tombe bien, ce sont des infos que l'on a 😉
Vous avez donc le script suivant :
$RadiusClientFile = Import-CSV -Delimiter ";" -Path "C:\Liste_AP.csv" $SharedSecret = "MonSecretPartageDeFou" Foreach($ClientRadius in $RadiusClientFile){ New-NpsRadiusClient -Address $ClientRadius.IPAddress -Name $ClientRadius.Name -SharedSecret $SharedSecret }
➡ Il ne reste plus qu'à le sauvegarder et à l'exécuter sur votre serveur NPS.