L'administration des systèmes d'information est indissociable de l'utilisation de l'interface de ligne de commande. De nombreux serveurs dans les réseaux d'entreprise ou les centres de données ne disposent pas d'un shell graphique, car ils représentent une charge inutile sur le système. Et cela ne contribue pas non plus à une solution rapide ou efficace du problème.
Chaque système d'exploitation sur un serveur cloud ou le poste de travail a son propre CLI shell avec une syntaxe et une sémantique spécifiques. Dans ce didacticiel, nous examinerons le shell PowerShell propriétaire, qui est un développement Microsoft et est activement utilisé dans Windows répartitions.
Plus en détail, PowerShell est un programme orienté objetramlangage intégré au système d'exploitation et qui vous permet d'interpréter des commandes de haut niveau en commandes de bas niveau sans connaître tous les mécanismes d'interaction du système.sms. Cela facilite également la gestion des utilisateurs sur un réseau local ou un réseau de domaine !
Que sont les applets de commande PowerShell ?
Comandlets ou commandes dans PS sont un ensemble syntaxique verbe-nom qui représente une action et un objet d'interaction. Par exemple, nous devons créer un nouvel utilisateur pour un groupe de travail ou une machine locale. Pour ce faire, nous pouvons utiliser la commande :
New-LocalUser -Name GG
Ce qui permet, lors de l'utilisation de la cmdlet New-LocalUser avec le pa -Namerameters et la valeur GG transmise, pour créer un nouvel utilisateur dans le système. Les commandlets accèdent aux objets du système d'exploitation et renvoient uniquement des informations à leur sujet. Pour trouver de nouvelles comandlets, utilisez le Obtenir de l'aide commande ou lisez les instructions plus détaillées sur la façon d'utiliser PS.
Travailler avec des modules dans PowerShell
Avant de commencer à travailler, il est nécessaire de mettre à jour Obtenir de l'aide, car si vous voulez comprendre le matériel par vous-même, cela ne sera pas facile sans de nouveaux packages-instructions. Mettons à jour les packages actuels avec Obtenir la mise à jour commandez et installez-en de nouveaux :
Get-Update
Vous pouvez utiliser la base de données récemment mise à jour pour trouver vous-même les commandes nécessaires :
Get-Help user
Pour rechercher des commandlets qui ont le mot-clé user dans leur nom ou leur description !
Notez s'il vous plaît! Actuellement, presque toutes les applets de commande sont structurées et organisées en modules, qui sont des dossiers fonctionnels. Par exemple, le système d'exploitation dispose d'un module Microsoft.PowerShell.LocalAccounts, qui stocke toutes les applets de commande liées à la gestion des utilisateurs sur les machines locales sans domaine. Cela aide également à trouver la bonne applet de commande. Afin d'afficher la liste complète des modules installés et disponibles, chargez-le via l'applet de commande :
Get-Module -ListAvailable
Il peut y avoir de nombreux modules différents sur la sortie, pour trouver celui dont vous avez besoin, vous devez utiliser un filtre via pipeline. En d’autres termes, la sortie d’une commande en tant qu’objet est transmise à une autre et filtrée :
Get-Module -ListAvailable | Where-Object Name -like "*LocalAccounts*"
De plus, dans de nombreux documents, vous pouvez trouver une construction encombrée {$_.Name -like "*LocalAccounts"}. Nous pouvons en utiliser un nouveau à la place, en spécifiant simplement l'objet ou la colonne actuelle à filtrer et un parameter avec une condition.
Remarque! La requête clé contient des astérisques, qui représentent un masque, n'importe quel signe et quantité. Élargissant ainsi la recherche de valeurs.
Comment créer des utilisateurs via PowerShell ?
Passons à l'un des modules évoqués ci-dessus et passons en revue toutes ses commandes :
Get-Command -module Microsoft.PowerShell.LocalAccounts
Chacune des commandes possède ses propres nombreuses options, qui permettent d'effectuer des réglages ou des actions plus précis sur l'objet. Pour la visualisation, nous utiliserons Obtenir de l'aide, mais avant cela, nous devons déployer le serveur sur lequel nous effectuerons les tests. Pour garantir que nos expériences n’affectent pas le système principal. Passons à la création d'un VPS serveur sur l'une ou l'autre des deux plateformes vStack Cloud or VMware Cloud. CliCliquez sur le bouton Créer un serveur et sélectionnez une configuration qui correspond à nos besoins, puis cliCliquez sur le bouton Commander.
Après un certain temps, les serveurs seront disponibles via l'une des principales méthodes de connexion, pour les tâches en cours Windows Un système d'exploitation avec centre de données à Istanbul a été choisi.
Voyons des informations détaillées sur les options et arguments acceptés par la commande New-LocalUser :
Get-Help New-LocalUser
Il est très important de pouvoir lire la syntaxe d’une commande pour comprendre comment l’utiliser. Dans ce cas, il est décrit qu'en plus d'utiliser le commandlet lui-même, nous pouvons ajouter des options :
- -Nom qui précisera le nom d'utilisateur, accepté au format chaîne ;
- -CompteExpire la période pendant laquelle le mot de passe du compte expire ;
- -AccountNeverExpires validité indéfinie du mot de passe ;
- -Description description du compte ;
- -Désactivé Le compte créé sera immédiatement désactivé ;
- -FullName nom d'utilisateur complet ;
- -NoPassword ne définit pas de mot de passe pour le compte ;
- -L'utilisateur UserMayNotChangePassword ne peut pas changer le mot de passe ;
- -Confirmer la confirmation de la création sans supplément windows.
Par exemple, pour un PC local, nous devons créer un utilisateur et lui donner des droits d'administrateur, pour cela nous écrirons la commande :
New-LocalUser -Name GG
Nous avons créé un utilisateur avec un pa standardrameters sans date d'expiration du mot de passe ni autres arguments, dans ce cas -Nom comme exigence minimale.
Comment ajouter des utilisateurs à un groupe via PowerShell ?
Attribuons ensuite l'utilisateur au Administrateurs groupe et vérifier l'exactitude des actions effectuées :
Add-LocalGroupMember -Group Администраторы -Member GG
Get-LocalGroupMember -Group Администраторы
Dans le formulaire visuel affiché, nous pouvons voir l'utilisateur nouvellement créé et ajouté dans le système ! Mais ce module, comme son nom l'indique clairement, ne fonctionne qu'avec les utilisateurs locaux, pour le rôle de serveur AD, nous avons besoin d'un module distinct qui abordera le domaine du contrôleur.
Comment ajouter un utilisateur à AD via PowerShell ?
Tout d'abord, trouvons le bon module pour le travail et filtrons les valeurs :
Get-Module -ListAvailable | Where-Object Name -like "*Active*"
Sachant à l’avance qu’il existe d’innombrables commandlets dans ce module, il est nécessaire de les trier au préalable. Nous n'avons besoin que des applets de commande qui mentionnent l'utilisateur et le groupe. Ainsi, utilisateur et groupe :
Get-Command -module ActiveDirectory | Where-Object Name -like "*User*"
Et la commande appropriée pour le groupe :
Get-Command -module ActiveDirectory | Where-Object Name -like "*Group*"
Dans le premier champ, nous voyons la commande New-ADUser, à l'aide de laquelle nous allons procéder à la création d'une nouvelle entité et définir immédiatement un mot de passe :
New-ADUser
Set-ADAccountPassword
Après avoir entré le mot de passe deux fois, ajoutons l'utilisateur au groupe et vérifions si nos actions sont correctes :
Add-ADGroupMember
Get-ADGroupMember
Sur les captures d'écran nous pouvons voir que les actions effectuées depuis le compte administrateur ont été effectuées correctement !
L'administration des réseaux d'information via l'interface de ligne de commande, en particulier à l'aide de PowerShell, offre un certain nombre d'avantages, tels qu'une réduction de la charge sur le système, une solution plus rapide et plus efficace des tâches et une gestion simplifiée des utilisateurs dans les réseaux locaux et de domaine. Les applets de commande PowerShell automatisent les opérations de base, rendant le travail de l'administrateur plus productif et plus pratique.