Il y a quelque temps, j’ai posté mon script initial pour trouver les utilisateurs connectés à un serveur et les déconnecter à distance. C’était il y a plusieurs années et j’ai pensé que je prendrais une autre fissure à elle pour essayer d’améliorer la vitesse, améliorer le formatage et ajouter quelques commutateurs dédiés avec un peu plus de flexibilité. Enfin, je voulais changer ce nom laid et non conventionnel en quelque chose de plus approuvé par Powershell. J’appelle cette nouvelle fonction Get Logged In Users.

La structure sous-jacente va toujours utiliser la session de requête, donc cela n’a pas changé. Ce qui a changé, c’est que maintenant nous pouvons spécifier un utilisateur spécifique ou trouver où un utilisateur est connecté dans un domaine. Une autre note est la capacité de les déconnecter en utilisant un simple commutateur donc cela peut certainement être pratique si vous vérifiez un journal de systèmes.

Get Logged In Users Using Powershell

Avec le recul, je ne sais pas pourquoi j’ai ajouté le module ActiveDirectory et l’ai fait fonctionner en tant qu’administrateur. Ce n’est tout simplement pas nécessaire et pas requis pour exécuter cette fonction. Cependant, je vous recommande vivement d’exécuter cette fonction sur une machine Windows 10 ou Server 2016 et plus avec Powershell 5 parce que bon, regardons les choses en face, nous sommes en 2020.

Paramètres

-ComputerName

Description : Ceci va spécifier le ComputerName que vous souhaitez vérifier. Si aucun ComputerName n’est spécifié, il vérifiera l’ordinateur local.

-UserName

Description : Si le nom d’utilisateur spécifié est trouvé connecté à une machine, il l’affichera dans la sortie.

-LogOff

Description : Si le paramètre logoff est spécifié, il déconnectera l’utilisateur de l’ordinateur. Il est recommandé d’exécuter sans le commutateur de déconnexion pour voir les résultats en premier.

Comment exécuter le script Powershell Get Logged In User

Pour exécuter le script, il y a deux choses que vous devez faire. Tout d’abord, vous devez définir votre politique d’exécution sur RemoteSigned ou bypass. C’est un standard avec l’exécution de n’importe quel script Powershell.

Puis vous devez dot source le script puisque c’est une fonction. Pour dot source le script faites ce qui suit:

  • Copiez le script ci-dessus et enregistrez-le à n’importe quel endroit. Dans cet exemple, je vais l’enregistrer dans mon dossier C:\_Scripts.
  • Dans la fenêtre Powershell, tapez : . .\_Scripts\Get-LoggedInUser.ps1 – Notez les deux points avant la barre oblique inverse.

Get Logged On Users On Remote Computers

La meilleure chose que j’aime dans ce script est votre capacité à obtenir qui est connecté à un ordinateur distant. Cela atténue le besoin de se connecter physiquement à l’ordinateur et de vérifier de cette façon. Puisque ce script Powershell vous permet d’interroger des serveurs et des ordinateurs distants, cela le rend hautement automatisable et très évolutif. En utilisant ce script, vous pouvez vérifier un serveur ou 1 000 serveurs et cela représente le même effort pour la personne qui l’exécute. C’est génial et j’aime comment vous pouvez faire tout cela à partir de votre propre ordinateur Windows 10.

Vous pouvez également trouver où un utilisateur est connecté dans un domaine très facilement. Selon le nombre de machines que vous allez itérer, cela peut évidemment prendre un certain temps, mais cela peut être fait. Voici un extrait de code simple de la façon d’obtenir l’endroit où un utilisateur est connecté à.

ErrorAction SilentlyContinue est utilisé pour supprimer les erreurs de connexion et afficher une sortie propre

Donc vous l’avez, une solution rapide et facile à un problème que de nombreux administrateurs informatiques ont rencontré dans leur voyage sysadmin. Je suis bien conscient que vous pouvez également le faire via la politique de groupe si vous vouliez emprunter cette voie, ou vous pouvez le faire via un outil GUI, mais j’aime toujours me salir les mains avec Powershell.

Articles

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.