Afficher le compte utilisateur connecté sur une machine distante en Powershell

Nous allons voir dans cet article comment savoir qui est connecté sur une machine distante en affichant son login.

Avant de commencer et si vous n’êtes pas encore à l’aise en Powershell je vous invite à consulter les articles suivants:

Installer PowerShell 1.0

Exécuter un script en PowerShell

Tout d’abord nous créons un fichier de script Powershell monscript.ps1contenant le script suivant:

$strComputer = "."
$Var =GWMI -Comp $strComputer -CL Win32_ComputerSystem
"Machine Name: " + $Var.Name + " User Name: " + $Var.UserName

Le « . » désigne la machine sur laquelle est exécutée le script. Cette syntaxe se retrouve d’ailleurs en VBScript.

Si l’on souhaite savoir qui est connecté sur la station nommée STATION02 il suffit de remplacer le « . » par « STATION02 ». Le code devient alors:

$strComputer = "STATION02"
$Var =GWMI -Comp $strComputer -CL Win32_ComputerSystem
"Machine Name: " + $Var.Name + " User Name: " + $Var.UserName

Nous exécutons le script directement depuis l’interpréteur Powershell :

Le meilleur VPN au monde

PS C:\>.\monscript.ps1

On obtient un résultat de la forme suivante :

PS C:\> .\monscript.ps1
Machine Name: STATION01 User Name: DOMLAB\hatmos
PS C:\>

Nous pouvons exécuter le script depuis une invite de commande (cmd) classique en tapant:

PowerShell C:\monscript.ps1

Mais malheureusement l’affichage est renvoyé dans l’interpréteur … qui se ferme aussitôt. Nous allons donc ajouter un MSGBOX à la manière des VBScript, afin d’avoir le temps de visualiser le résultat.

Le code devient alors:

$strComputer = "STATION02"
$Var =GWMI -Comp $strComputer -CL Win32_ComputerSystem
"Machine Name: " + $Var.Name + " User Name: " + $Var.UserName
$a = new-object -comobject wscript.shell
$b = $a.popup($Var.UserName,0,"MSGBOX en Powershell",1)

Et le résultat sera retourné dans un MSGBOX 😉

Il est possible d’effectuer la même opération en VBScript. Je vous invite pour cela à consulter l’article suivant:

Afficher le compte utilisateur connecté sur une machine distante en VBScript

2 commentaires sur “Afficher le compte utilisateur connecté sur une machine distante en Powershell”

  1. les chevrons dans mon précèdent commentaire sont à remplacer par des doubles quotes…

  2. Bonjour,
    autre script powershell pour faire la même chose avec un sleep pour que la fenêtre reste ouverte (le chiffre en seconde) et un Read-Host pour la saisie du nom du poste :

    $computer = Read-Host « Entrer le nom du pc »
    $loginfo = Get-WmiObject -Computer $Computer -Class Win32_ComputerSystem
     » Utilisateur connecte :  » + $loginfo.UserName
    sleep 5

Laisser un commentaire