PROJET AUTOBLOG


IT-Connect

Site original : IT-Connect

⇐ retour index

Notepad++ 8.0 est disponible, quelles sont les nouveautés ?

mardi 8 juin 2021 à 08:27

Notepad++ est un éditeur de texte très célèbre, que l'on ne présente plus ! Il vient de passer en version 8.0, alors je lui devais bien un article pour parler des nouveautés.

Notepad++ 8.0 est une version majeure de l'éditeur de texte aux multiples fonctionnalités. Cette nouvelle mouture s'accompagne de nouvelles fonctionnalités et des corrections de bugs. D'après la release note, on dénombre 39 changements.

D'un point de vue esthétique, il n'y a pas de révolution, mais on notera l'utilisation de nouveaux icônes et l'ajout de deux fonctionnalités. La première, c'est l'ajout d'un mode sombre. Pour activer le mode sombre de Notepad++, cliquez sur "Paramètres", "Préférences", puis sur "Mode sombre". Il ne reste plus qu'à cocher l'option "Activer mode sombre" et à redémarrer le logiciel.

Nouveautés Notepad++ 8.0

La seconde, c'est un nouveau mode d'affichage nommé "Mode sans distraction" qui permet de basculer en mode plein écran et se concentrer sur le fichier en cours d'édition. Pour activer ce mode, il suffit de cliquer sur "Affichage" puis "Mode sans distraction".

Par ailleurs, les développeurs de Notepad++ ont pris la décision de supprimer Microsoft Bing de la liste des moteurs de recherche disponible pour la commande "Rechercher sur Internet". Lorsque du texte est sélectionné, cela permet de le rechercher directement sur Internet. Désormais, les choix proposés sont : DuckDuckGo, Google, Yahoo! et Stack Overflow.

En fait, cette décision a été prise, car Microsoft est accusé d'avoir censuré les résultats de son moteur de recherche pour la requête "tank man", en ne renvoyant aucun résultat. Ce n'est pas rare que la Chine demande à ce que des requêtes soient bloquées, notamment lorsque cela fait référence à ce qu'il s'est passé à Tiananmen en 1989. De son côté, Microsoft parle d'une erreur humaine et affirme que le problème sera corrigé dès que possible.

D'après les informations fournies sur la page de téléchargement, Notepad++ est désormais disponible pour les systèmes ARM64, c'est-à-dire avec une architecture ARM. Le logiciel n'est plus limité aux architectures traditionnelles x86 ou x64.

Rendez-vous sur la page de téléchargement ci-dessous pour récupérer l'exécutable et prendre connaissance de tous les changements, y compris les nouveautés mineures.

➡ Télécharger Notepad++

Source

The post Notepad++ 8.0 est disponible, quelles sont les nouveautés ? first appeared on IT-Connect.

Vers un déploiement intelligent des màj Windows 10 avec le machine learning ?

mardi 8 juin 2021 à 07:28

Microsoft va s'appuyer sur du machine learning pour délivrer les mises à niveau sur les postes de travail Windows de manière plus intelligente. Des tests sont actuellement en cours.

Depuis le mois dernier, nous pouvons mettre à jour nos machines vers Windows 10 21H1, la dernière version de Windows 10, qui d'ailleurs, n'est pas très riche en nouveautés !

Pour installer cette mise à jour, on peut passer par Windows Update directement si l'on utilise Windows 10 version 2004 ou Windows 10 version 20H2. D'après Microsoft, la disponibilité est réduite dans les premières semaines, dans le but de garantir une expérience de téléchargement fiable. Si l'on utilise une autre version, il est toujours possible d'utiliser l'outil Media Creation Tool pour forcer le destin manuellement.

Récemment, Microsoft a mis à jour la page de Windows 10 version 21H1 du site Microsoft Docs. Cette mise à jour révèle que Microsoft a entamé la première phase d'entraînement pour son algorithme de machine learning. Pour cette phase d'entraînement, Microsoft a ciblé des machines sous Windows 10 version 2004 à mettre à jour automatiquement vers Windows 10 version 21H1.

Il est précisé également : "Nous continuerons à entraîner notre algorithme de machine learning pour déployer intelligemment les nouvelles versions de Windows 10 et offrir une expérience de mise à jour fluide."

Grâce au machine learning, Microsoft espère certainement éviter les problèmes de mise à niveau qui peuvent toucher certaines machines. Il est fort probable que l'algorithme de machine learning se nourrisse des données de télémétrie et de diagnostic remontés par les différents ordinateurs, dans le but de voir les machines sur lesquelles il y a des soucis, et voir les machines sur lesquelles tout s'est bien passé.

En tout cas, ce sera peut-être une façon d'optimiser le déploiement des futures versions de Windows 10 (ou de Windows 11), plutôt que de simplement se baser sur la version actuelle de la machine comme c'est fait actuellement.

Source

The post Vers un déploiement intelligent des màj Windows 10 avec le machine learning ? first appeared on IT-Connect.

Partagez vos connaissances en informatique en devenant professeur en ligne

mardi 8 juin 2021 à 05:00

Vous êtes un professionnel de l’informatique, ou vous disposez de solides compétences dans ce secteur, que vous aimeriez mettre à votre profit dans la recherche d’un travail en ligne ? Si tel est le cas, vous pourriez être intéressé par l’optique de donner des cours d'informatique en ligne. Oui mais, sur quelle plateforme proposer vos cours ? À quels élèves pourrez-vous vous adresser, et quels types d’enseignements pourriez-vous leur apporter ?

Nous vous parlerons plus en détail de ce sujet, et vous donnerons nos conseils pour devenir un professeur d'informatique en ligne en quelques clics.

Pourquoi faire le choix de devenir professeur en ligne ?

Devenir professeur en ligne offre de nombreux avantages. Si vous aimez le secteur d’internet, vous connaissez certainement certains de ces avantages, propres au fait de travailler sur internet. Tout d’abord, vous pourrez déterminer vous-même quels sont vos horaires de travail. Il n’y a rien de mieux pour construire votre propre emploi du temps, et vous laisser du temps libre afin de profiter de vos proches, ou d’effectuer les activités qui vous tiennent à cœur. En travaillant en ligne, cela est tout à fait possible. L’intérêt, c’est de pouvoir également donner des cours en ligne en complément d’une activité principale.

Le fait de donner des cours en ligne vous permet également d’enseigner et donc de travailler à partir de n’importe où, à condition de disposer d’une connexion internet de qualité suffisante, et d’un ordinateur. C’est donc un moyen de travailler depuis chez vous, mais aussi depuis l’autre bout du monde si vous le souhaitez ! Vous pouvez donner un cours à distance, tout en étant sur la plage les doigts de pied en éventail. Que demander de mieux ?

Travailler en ligne, c’est aussi un moyen d’avoir un complément de revenu, puisqu’en devenant professeur en ligne sur une plateforme adaptée à cette activité, vous pourrez être mis directement en contact avec des étudiants motivés, qui n’attendent que vos leçons pour se lancer dans l’apprentissage. À vous de déterminer vos tarifs en fonction de vos compétences !

Où proposer vos services ?

Il existe différents moyens de proposer des cours d’informatique en ligne, et en voici quelques exemples :

- Rejoindre une plateforme de cours en ligne. Pour l’emploi de professeur d’informatique en ligne, la plateforme Preply est un bon exemple. Son fonctionnement est simple et clair, et elle couvre de nombreux besoins, notamment les cours d’informatique. Vous pourrez directement vous adresser à des élèves qui souhaitent améliorer leurs connaissances en informatique. Que vous soyez informaticien, développeur, ou qualifié dans le secteur de l’informatique et des ordinateurs, vous pourrez proposer vos services en ligne, selon vos propres conditions. Vous échangerez avec des étudiants de tous les âges, désireux d’apprendre de votre expérience et de vos connaissances ! Et tout cela, à distance.

- Donner des cours sur YouTube. Autre option, certaines personnes (comme moi) peuvent faire le choix de se lancer dans des cours à distance en passant par YouTube. Je ne vais pas vous présenter cette plateforme, qui propose un peu de tout, il faut trier comme on dit, mais on peut trouver des tutos variés, pouvant répondre à la moindre de vos questions. Si vous aimez le fonctionnement de la plateforme, libre à vous de créer votre chaîne et de proposer des leçons sous forme de vidéos et de tutos. Pour autant, il ne s’agit pas de la méthode la plus rentable, et il vous faudra de nombreuses vues pour que la monétisation de vos vidéos puisse vous permettre de gagner de l’argent. Néanmoins, cette plateforme offre une visibilité intéressante.

- Enfin, d’autres plateformes peuvent vous aider à proposer vos services en ligne. Il peut s’agir de Udemy, ou de Diplomeo, deux autres plateformes que vous connaissez surement.

Que faut-il prendre en compte avant de se lancer dans l’enseignement en ligne ?

Même si vous êtes un adepte de l’informatique, voire même un expert dans ce domaine, cela ne signifie pas pour autant que vous pourrez proposer vos cours naturellement. Parfois, enseigner n’est pas si évident, c’est pourquoi vous devrez faire en sorte de préparer vos cours en amont, afin de pouvoir proposer à vos élèves, le meilleur des enseignements.

Le premier point à prendre en compte concerne le niveau de vos élèves, ainsi que les compétences qu’ils aimeraient acquérir. En fonction de leurs réponses, vous pourrez faire en sorte de préparer des cours adaptés à leurs besoins, qui leur correspondent parfaitement. Vous devrez également faire en sorte de vous tenir disponible pour répondre à leurs questions, et vous devrez les aider avec des mots clairs, en introduisant petit à petit le vocabulaire technique propre à l’informatique, pour ne pas perdre vos élèves.

Faites également en sorte de leur proposer des exercices variés, qu’ils pourront effectuer chez eux pour progresser entre deux cours. En prenant en compte les points suivants, et en faisant en sorte de choisir la plateforme la plus adaptée à vos connaissances, vous pourrez devenir l’un des professeurs d’informatique en ligne les plus appréciés !

The post Partagez vos connaissances en informatique en devenant professeur en ligne first appeared on IT-Connect.

Le site Stack Overflow racheté pour 1,8 milliard de dollars !

lundi 7 juin 2021 à 13:32

Qui travaille dans l'informatique et n'a jamais utilisé le forum de Stack Overflow pour trouver la réponse à une question, à un problème ? Je dirais : personne ! Le célèbre site vient d'être racheté par la société d'investissements Prosus contre une jolie somme de 1,8 milliard de dollars.

Stack Overflow, c'est 100 millions de visiteurs par mois et il fait partie du Top 50 mondial des sites Internet : sans surprise, car c'est une vraie mine d'or pour les professionnels de l'informatique, notamment dans le domaine du développement. Mais le site est aussi utilisé dans d'autres domaines, notamment la finance et le marketing.

Le nom Prosus ne vous dit peut être rien, en tout cas moi, ce nom ne me disait rien. Puisqu'il s'agit d'une société d'investissement, ce n'est pas la première fois qu'elle réalise une opération de ce style. Par exemple, Prosus détient près de 30% de Tencent, un géant chinois de l'Internet qui pèse plus de 300 milliards de dollars. Par ailleurs, Prosus est également au capital de Udemy et Codecademy.

Joel Spolsky, l'un des deux cofondateurs, précise que Stack Overflow va conserver une certaine dépendance malgré ce rachat. D'après lui, les équipes resteront les mêmes, tout comme les pratiques commerciales. Quoi qu'il en soit, espérons que Stack Overflow reste gratuit et ouvert. Grâce à ce rachat, Stack Overflow va peut-être chercher à s'étendre plus largement à l'international ? Pour le moment, 85% du trafic provient des États-Unis.

Personnellement, je l'utilise assez régulièrement notamment lorsque je rencontre un nouveau problème avec PowerShell ! Et vous, utilisez-vous Stack Overflow ?

Source

The post Le site Stack Overflow racheté pour 1,8 milliard de dollars ! first appeared on IT-Connect.

Comment configurer PowerShell Just Enough Administration ?

lundi 7 juin 2021 à 11:30

I. Présentation

La fonctionnalité PowerShell Just Enough Administration (JEA) est disponible depuis la version 5.0 de PowerShell. Dans ce tutoriel, je vous propose de découvrir comment mettre en œuvre la fonctionnalité JEA pour déléguer l'accès à certaines tâches d'administration à des utilisateurs qui ne sont pas administrateurs.

🎥 Tutoriel disponible au format vidéo :

Grâce à PowerShell Just Enough Administration, nous allons gagner en flexibilité dans la gestion des sessions PowerShell. Avec JEA, vous pouvez autoriser un utilisateur à effectuer une tâche spécifique sur un serveur, au travers de PowerShell et d'une session distante, sans qu'il soit administrateur du serveur ou du service cible.

Concrètement, on peut définir précisément quelles sont les commandes qu'un utilisateur peut exécuter ou non sur une machine au travers d'une session distante. Indépendamment du fait qu'il soit administrateur ou non de cette même machine. Par exemple, vous pouvez autoriser un utilisateur à redémarrer uniquement le service "DHCP" de votre serveur (ou votre serveur web "IIS"), mais aucun autre service (DNS, NTDS, etc...).

En bref, avec PowerShell JEA, on peut :

II. Comment implémenter PowerShell JEA ?

PowerShell Just Enough Administration est intégré à Windows 10 et à Windows Server 2016 (et versions supérieures), car il est inclus dans PowerShell 5.0. Cette version de PowerShell est native sur ces OS.

Pour les versions plus anciennes de Windows Server, à savoir Windows Server 2008 R2, Windows Server 2012 et Windows Server 2012 R2, il faudra passer sur PowerShell 5.0. Pour cela, l'installation de Windows Management Framework 5.0 (au minimum) est obligatoire.

Sur la machine à administrer, vous devez autoriser la gestion à distance (WinRM) pour permettre la connexion à distance avec PowerShell (Enter-PSSession).

Ensuite, PowerShell JEA ne demande qu'une chose : être utilisé, alors à vous de jouer !

III. Créer un fichier de configuration de session (PSSC)

Au fait qu'allons-nous mettre en place comme configuration PowerShel JEA ?

L'idée, c'est de créer une configuration sur notre serveur SRV-ADDS-01 pour permettre aux membres du groupe Active Directory "Support-IT" d'exécuter quelques commandes pour gérer le service DHCP. En effet, ce serveur est un contrôleur de domaine, mais c'est également un serveur DHCP. Les membres du groupe "Support-IT" doivent pouvoir redémarrer le service DHCP, redémarrer le serveur (sait-on jamais... en dernier recours), lister les services actifs sur le serveur et réaliser un ping à partir de ce serveur.

À la fin, nous allons tester la configuration depuis machine distante sous Windows 10 nommée "PC-W10-01".

Bon, le décor est planté, on va attaquer la configuration... Ouvrez une console Powershell en tant qu'administrateur sur votre serveur.

La première étape consiste à créer un fichier pour la configuration de notre session.

Ce fichier sera nommé "SRV-ADDS-01-Manage.pssc". L'extension PSSC correspond à PowerShell Session Configuration. On utilise le cmdlet prévu à cet effet : New-PSSessionConfigurationFile.

New-PSSessionConfigurationFile -Path 'C:\Program Files\WindowsPowerShell\SRV-ADDS-01-Manage.pssc'

Sans quitter la console PowerShell, on va éditer le fichier que l'on vient de créer.

notepad.exe 'C:\Program Files\WindowsPowerShell\SRV-ADDS-01-Manage.pssc'

On se rend compte qu'il n'est pas vide ! C'est un template que nous allons modifier à notre sauce.

PowerShell JEA - Exemple de fichier PSSC (PowerShell Session Configuration File)
PowerShell JEA - Exemple de fichier PSSC (PowerShell Session Configuration File)

Il y a quatre paramètres qui m'intéressent particulièrement :

- SessionType

Nous allons remplacer la valeur "Default" par "RestrictedRemoteServer". C'est recommandé par Microsoft (et moi aussi !), car cela va restreindre directement les commandes accessibles.

SessionType = 'RestrictedRemoteServer'

Avec ce mode, l'utilisateur peut utiliser seulement les commandes suivantes :

Des commandes pratiques, non dangereuses, tout va bien !

- TranscriptDirectory

Chaque session distante aura son propre journal de transcription. Ces fichiers de transcription doivent être stockés dans un dossier : précisez le chemin de ce dossier et pensez à le créer.

TranscriptDirectory = 'C:\Scripting\Transcripts\'

- RunAsVirtualAccount

Lorsque cette option est à $true (vrai), l'utilisateur bénéficie d'un compte virtuel qui est administrateur local du serveur. Autrement dit, les actions que l'utilisateur va exécuter seront effectuées avec des droits "admin" sur le serveur même si lui n'est pas administrateur du serveur.

RunAsVirtualAccount = $true

Si votre utilisateur va exécuter des actions sur le serveur distant qui ne nécessite pas des droits d'administration complets, il y a une option complémentaire à définir : RunAsVirtualAccountGroups. Elle sert à spécifier un ou plusieurs groupes locaux (et seulement locaux) auxquels doit appartenir l'utilisateur. Un état intermédiaire pour être administrateur d'un service spécifique. Par exemple :

RunAsVirtualAccount = $true 
RunAsVirtualAccountGroups = 'NetworkOperator', 'NetworkAuditor'

Pour accéder à des ressources situées sur le réseau, il faut utiliser une autre directive et spécifier un gMSA : GroupManagedServiceAccount. Néanmoins, c'est à utiliser seulement lorsque c'est indispensable, car la traçabilité devient plus complexe étant donné que le compte peut avoir accès à des ressources du réseau. Par exemple :

GroupManagedServiceAccount = 'IT-Connect\GMSA-JEA'

Dans cet exemple, nous resterons sur l'utilisation standard avec "RunAsVirtualAccount = $true".

- RoleDefinitions

Nous allons préciser le groupe de sécurité Active Directory qui est autorisé à utiliser cette session, puis le nom du rôle associé. En fait, nous verrons que le rôle contient la liste des actions autorisées, notamment les commandes PowerShell que peut exécuter l'utilisateur.

Pour ma part, je déclare le groupe "it-connect.local\Support-IT" et je l'associe au rôle "Support-IT_Manage". Puisque ce groupe doit pouvoir gérer le service DHCP, j'aurais pu choisir un nom un peu plus parlant comme "DHCP_Admins". Mais bon, restons sur "Support-IT_Manage".

RoleDefinitions = @{ 'it-connect.local\Support-IT' = @{ RoleCapabilities = 'Support-IT_Manage' }}

En complément, dans la configuration vous pouvez modifier le champ "Author" pour indiquer votre nom.

Note : lorsque cela est nécessaire, pensez à décommenter les lignes à activer, c'est-à-dire supprimer le "#" en début de ligne. Sinon, la ligne sera ignorée.

L'édition du fichier de configuration est terminée. Sauvegardez puis exécutez la commande ci-dessous. Cette commande va permettre de vérifier la syntaxe de notre fichier : s'il y a une erreur, autant le savoir maintenant.

Test-PSSessionConfigurationFile 'C:\Program Files\WindowsPowerShell\SRV-ADDS-01-Manage.pssc'

Si la commande retourne "True", c'est tout bon !

Ressource complémentaire : Doc Microsoft

IV. Créer un fichier pour la configuration du rôle (PSRC)

Dans notre fichier de configuration de la session, nous avons déclaré le rôle "Support-IT_Manage", mais elle n'a pas encore de configuration. Pas de panique, on s'en occupe maintenant.

Commencez par créer un dossier "RoleCapabilities" sur votre serveur pour stocker l'ensemble des fichiers de configuration de vos rôles.

New-Item -Path 'C:\Program Files\WindowsPowerShell\Modules\JEA\RoleCapabilities' -ItemType Directory

Le dossier étant créé, on va créer notre fichier "Support-IT_Manage.psrc" tout en sachant que l'extension PSRC correspond à PowerShell Session Role Capabilities. Ce fichier doit être nommé de la même façon que le rôle, c'est impératif.

Là encore, on utilise un cmdlet spécifique pour créer ce fichier dans le but d'obtenir un template : New-PSRoleCapabilityFile.

New-PSRoleCapabilityFile -Path 'C:\Program Files\WindowsPowerShell\Modules\JEA\RoleCapabilities\Support-IT_Manage.psrc'

On le modifie avec notepad :

notepad.exe 'C:\Program Files\WindowsPowerShell\Modules\JEA\RoleCapabilities\Support-IT_Manage.psrc'

Dans ce fichier, nous pouvons déclarer différents types d'éléments pour les autoriser : commandes PowerShell, outils externes (exécutables), fonctions, alias, modules, etc.

Pour déclarer les commandes PowerShell autorisées, nous allons devoir configurer l'option "VisibleCmdlets". Il y a plusieurs façons de renseigner cette option :

Pour rappel, nous souhaitons que les membres du groupe "Support-IT" soient autorisés à exécuter les actions ci-dessous (avec en prime la commande correspondante) :

Restart-Service -Name DHCPServer
Restart-Computer
Get-Service
ping

Il faut donc que l'on autorise les cmdlets "Restart-Computer" et "Get-Service", sans réelle restriction. Ensuite, il faut que l'on permette à l'utilisateur de redémarrer le service "DHCPServer" et seulement celui-ci !

Du coup, la commande PowerShell à autoriser est :

Restart-Service -Name DHCPServer

Au sein de la configuration, voici comment nous allons transposer cette commande :

@{ Name = 'Restart-Service'; Parameters = @{ Name = 'Name'; ValidateSet = 'DHCPServer' }}

On précise que l'on accepte seulement "DHCPServer" comme valeur pour le paramètre "-Name". Si l'on veut autoriser plusieurs valeurs, voici la syntaxe (pour autoriser aussi la valeur "NTDS") :

@{ Name = 'Restart-Service'; Parameters = @{ Name = 'Name'; ValidateSet = 'DHCPServer', 'NTDS'}}

Au final, voici la ligne complète pour autoriser les trois cmdlets :

VisibleCmdlets = 'Restart-Computer', @{ Name = 'Restart-Service'; Parameters = @{ Name = 'Name'; ValidateSet = 'DHCPServer' }}, Get-Service

Pour autoriser le "ping" (car oui il est bloqué lui aussi même si c'est une commande basique !), il faut configurer l'option "VisibleExternalCommands". On précise tout simplement le chemin complet vers "ping.exe", ce qui donne :

VisibleExternalCommands = 'C:\Windows\System32\ping.exe'

Notre fichier de configuration du rôle est prêt ! Sauvegardez et fermez le fichier.

PowerShell JEA - Exemple de fichier PSRC (PowerShell Session Role Capabilities)
PowerShell JEA - Exemple de fichier PSRC (PowerShell Session Role Capabilities)

V. Enregistrer la nouvelle configuration de session

Nous devons enregistrer cette session PowerShell pour qu'elle soit utilisable. Le cmdlet Register-PSSessionConfiguration doit être utilisé. On va spécifier le nom de la configuration "Support-IT" et le chemin vers le fichier PSSC : SRV-ADDS-01-Manage.pssc.

Register-PSSessionConfiguration –Name Support-IT -Path 'C:\Program Files\WindowsPowerShell\SRV-ADDS-01-Manage.pssc'

Lorsque la session est enregistrée, s'il n'y a pas d'erreurs (en rouge), redémarrez le service WinRM :

Restart-Service WinRM
Register-PSSessionConfiguration - Exemple
Register-PSSessionConfiguration - Exemple

À tout moment, vous pouvez supprimer cette configuration grâce à la commande Unregister-PSSessionConfiguration.

Unregister-PSSessionConfiguration –Name Support-IT

Ce qui est intéressant, c'est de lister les configurations de sessions disponibles sur votre machine. La commande Get-PSSessionConfiguration est notre amie pour cela :

Get-PSSessionConfiguration | Format-Table Name, Permission

On voit bien notre configuration "Support-IT" et que l'accès est autorisé au groupe "IT-Connect\Support-IT".

Get-PSSessionConfiguration - Lister les configurations de sessions
Get-PSSessionConfiguration - Lister les configurations de sessions

C'est l'heure de tester notre configuration...

VI. Tester la session restreinte via PowerShell JEA

Je bascule sur mon poste client Windows 10.... J'ouvre une session avec l'utilisateur "Florian". Il s'agit d'un utilisateur du domaine membre du groupe "Support-IT".

À l'aide d'une console PowerShell, je vais essayer de me connecter sur mon serveur SRV-ADDS-01. Chose habituelle, j'utilise Enter-PSSession. Voici la commande :

Enter-PSSession -ComputerName SRV-ADDS-01

Et là, ça ne fonctionne pas : Accès refusé.

C'est normal, car nous devons spécifier le nom de la configuration à utiliser pour que le serveur autorise notre connexion à partir d'un utilisateur lambda. Reprenons la commande précédente en précisant "-ConfigurationName Support-IT" :

Enter-PSSession -ComputerName SRV-ADDS-01 -ConfigurationName Support-IT

Là, ça fonctionne : parfait ! On peut essayer quelques commandes... Des commandes que l'on a autorisées et d'autres non pour voir ce qui se passe...

Quand la commande n'est pas autorisée, la console nous dit que le terme n'est pas reconnu, comme si la commande n'existait pas (idem pour un programme non autorisé). Quand la commande est autorisée, mais que la valeur d'un paramètre n'est pas correcte, on obtient une erreur qui fait référence à l'attribut ValidateSet (défini dans le fichier de configuration du rôle).

Note : sur la copie d'écran ci-dessous, "Get-Service" ne fonctionne pas, mais c'est normal, car il n'était pas dans ma configuration au moment du test.

Démonstration d'une session restreinte avec PowerShell JEA
Démonstration d'une session restreinte avec PowerShell JEA

Cela fonctionne vraiment bien ! Pour quitter la session, on précisera :

exit

Si vous modifiez votre fichier de rôle (PSRC) pour ajouter une commande par exemple, il n'est pas nécessaire de réinscrire votre session sur le serveur (Register-PSSessionConfiguration). Ce sera pris en compte directement. Par contre, si la session PowerShell distante est en cours, il faudra la fermer et la rouvrir pour que le changement soit pris en compte.

VII. La transcription de PowerShell JEA

Suite aux différents essais et à l'utilisation de la session PowerShell "Support-IT", il y a eu quelques fichiers de transcriptions créés sur notre serveur : un fichier par session.

Au début de chaque fichier, nous avons :

Ensuite, le fichier contient une trace de toutes les commandes exécutées, y compris lorsque l'utilisateur tente d'exécuter une commande non autorisée. Par exemple, voici la ligne générée lorsque j'ai exécuté "Restart-Service DHCPServer" :

PS>CommandInvocation (Restart-Service) : « Restart-Service »
>> Liaison de paramètre (Restart-Service) : nom = « Name » ; valeur = « DHCPServer »

À la fin du fichier, nous pouvons retrouver l'heure de fin, c'est-à-dire l'heure à laquelle notre session s'est terminée.

**********************
Fin de la transcription Windows PowerShell
Heure de fin : 20210526161044
**********************

VIII. Conclusion

PowerShell JEA est très pratique pour attribuer de façon précise des droits aux utilisateurs non administrateurs, que ce soit pour exécuter un cmdlet, un programme ou un script.

En tout cas, Powershell JEA n'est pas spécialement utile pour les utilisateurs "Admins du domaine" ou "Administrateurs" d'un serveur. En effet, un administrateur pourrait facilement contourner les restrictions de Powershell JEA en se connectant directement sur le serveur en RDP, par exemple.

Définir un rôle au sein de PowerShell Just Enough Configuration n'est pas toujours simple ! Il faut penser à toutes les commandes que pourraient avoir besoin la personne qui va intervenir, en fonction de ce qu'elle a besoin de faire. Par contre, ce qui est génial, c'est que l'utilisateur sera limité à ces quelques actions. D'un point de vue de la sécurité, c'est top !

Pour aller plus loin, je vous recommande de prendre connaissance de ce fichier du GitHub officiel de Microsoft. Il représente une base intéressante pour créer un fichier de rôle sur le support de niveau 1 d'un serveur : PowerShell JEA - Exemple

Dans le même esprit, pour le support niveau 1 d'un serveur IIS : PowerShell JEA - Exemple IIS

Utilisez-vous déjà PowerShell JEA ou souhaitez-vous le mettre en place suite à la lecture de cet article ?

The post Comment configurer PowerShell Just Enough Administration ? first appeared on IT-Connect.