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.UserNameLe « . » 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.UserNameNous exécutons le script directement depuis l’interpréteur Powershell :
PS C:>.monscript.ps1On obtient un résultat de la forme suivante :
PS C:> .monscript.ps1 Machine Name: STATION01 User Name: DOMLABhatmos PS C:>Nous pouvons exécuter le script depuis une invite de commande (cmd) classique en tapant:
PowerShell C:monscript.ps1Mais 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
📖 Retrouve tous nos tutoriels Windows, sécurité et PowerShell dans notre Guide Windows, IT & Sécurité 2026.
les chevrons dans mon précèdent commentaire sont à remplacer par des doubles quotes…
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