
Récupérer et afficher des informations sur les sessions utilisateur actives sur des ordinateurs distants. Aucun privilège administrateur requis.
Récupérez et affichez les informations sur les sessions utilisateur actives sur des ordinateurs distants. Aucun privilège administrateur requis.
L'outil exploite le service de registre distant pour interroger la ruche de registre HKEY_USERS sur les ordinateurs distants. Il identifie et extrait les identifiants de sécurité (SID) associés aux sessions utilisateur actives, et les traduit en noms d'utilisateur correspondants, offrant ainsi un aperçu de qui est actuellement connecté.
Si le commutateur -CheckAdminAccess est fourni, il rassemblera les sessions en s'authentifiant sur les cibles où vous avez un accès administrateur local en utilisant Invoke-WMIRemoting (ce qui récupérera très probablement plus de résultats).
Il est important de noter que le service de registre distant doit être en cours d'exécution sur l'ordinateur distant pour que l'outil fonctionne efficacement. Lors de mes tests, si le service est arrêté mais que son type de démarrage est configuré sur "Automatique" ou "Manuel", le service démarrera automatiquement sur l'ordinateur cible une fois interrogé (c'est un comportement natif), et les informations de session seront récupérées. S'il est réglé sur "Désactivé", aucune information de session ne peut être récupérée depuis la cible.
Chargez Invoke-SessionHunter en mémoire
iex(new-object net.webclient).downloadstring('https://raw.githubusercontent.com/Leo4j/Invoke-SessionHunter/main/Invoke-SessionHunter.ps1')
Si exécuté sans paramètres ni commutateurs, il récupérera les sessions actives pour tous les ordinateurs du domaine actuel en interrogeant leur registre distant
Invoke-SessionHunter
Rassemble les sessions en s'authentifiant sur les cibles où vous avez un accès administrateur local (la commande 'klist sessions' est exécutée sur les cibles)
Invoke-SessionHunter -CheckAsAdmin
Vous pouvez éventuellement fournir des identifiants dans le format suivant
Invoke-SessionHunter -CheckAsAdmin -UserName "ferrari\Administrator" -Password "P@ssw0rd!"
Invoke-SessionHunter est conçu pour exclure votre machine hôte, votre utilisateur actuel et le nom d'utilisateur fourni de la portée.
En conséquence, ils n'apparaîtront pas parmi les sessions récupérées.
Si vous souhaitez les inclure dans les résultats récupérés, veuillez fournir les commutateurs -ShowAll et/ou -IncludeLocalHost.
Invoke-SessionHunter -ShowAll -IncludeLocalHost
Invoke-SessionHunter ignorera toute cible où le registre distant ne répond pas dans les 2000 ms (2 secondes).
Vous avez le contrôle sur le délai d'attente en fournissant le paramètre -Timeout | Par défaut = 2000, augmentez pour les réseaux plus lents.
Invoke-SessionHunter -Timeout 5000
Utilisez le commutateur -Match pour afficher uniquement les cibles où vous avez un accès administrateur et où un utilisateur privilégié est connecté.
Invoke-SessionHunter -Match
Tous les commutateurs peuvent être combinés
Invoke-SessionHunter -CheckAsAdmin -UserName "ferrari\Administrator" -Password "P@ssw0rd!" -Timeout 5000 -Match

Invoke-SessionHunter -Domain contoso.local
Invoke-SessionHunter -Targets "DC01,Workstation01.contoso.local"
Invoke-SessionHunter -Targets c:\Users\Public\Documents\targets.txt
Invoke-SessionHunter -Servers
Invoke-SessionHunter -Workstations
Invoke-SessionHunter -Hunt "Administrator"
Invoke-SessionHunter -RawResults
Note : si un hôte est injoignable, cela peut bloquer un certain temps
Invoke-SessionHunter -NoPortScan