Trouver les données de nom d'utilisateur dans ConfigMgr - Pt 2

Dans mon dernier article de blog, j'ai parlé des quatre endroits où trouver les détails des données de nom d'utilisateur et de la manière dont ils sont collectés/inventorisés : inventaire matériel, Heartbeat Discovery, Asset Intelligence et BGB. Dans cet article de blog, je vous montre la meilleure façon de tirer parti de chacun d'eux.

Voici un rappel rapide des vues SQL Server que vous pouvez utiliser pour rechercher des données de nom d'utilisateur :

· v_GS_COMPUTER_SYSTEM

· v_GS_SYSTEM_CONSOLE_USAGE_MAXGROUP

· v_R_System / v_R_System_Valid

· v_CombinedDeviceResources

Quand utiliser chaque vue SQL Server

Encore une fois, j'utilise la même requête SQL Server de Partie 1 parce que je veux discuter des vues SQL Server à utiliser - quand et pourquoi. Dans la capture d'écran suivante, vous voyez les résultats de mon laboratoire de test.

Sélectionner
RV.Netbios_Name0,
CS.NomUtilisateur0,
SCUM.TopConsoleUser0,
RV.User_Domain0,
RV.Nom_Utilisateur0,
CDR.CurrentLogonUser
de
dbo.v_R_System_Valid RV
jointure externe gauche dbo.v_GS_COMPUTER_SYSTEM CS sur RV.ResourceID = CS.ResourceID
jointure externe gauche dbo.v_GS_SYSTEM_CONSOLE_USAGE_MAXGROUP SCUM sur RV.ResourceID = SCUM.ResourceID
jointure externe gauche dbo.v_CombinedDeviceResources CDR sur RV.ResourceID = CDR.MachineID

Rechercher des données de nom d'utilisateur - Résultats

Pourquoi utiliseriez-vous une vue SQL Server plutôt qu'une autre ? La réponse dépend de ce que vous essayez de faire.

Voici quatre courts scénarios :

1. Vous devez savoir qui est connecté à un ordinateur MAINTENANT !

2. Vous devez localiser le propriétaire d'un ordinateur.

3. Vous devez localiser le dernier utilisateur connecté pour un ordinateur.

4. Vous devez déterminer l'historique de la dernière connexion utilisateur pour un ordinateur.

Ci-dessous, je détaille la vue à utiliser dans chaque scénario.

Rechercher des données de nom d'utilisateur - Scénario 1

Vous devez savoir qui est connecté à l'ordinateur MAINTENANT !

Dans ce cas, un ordinateur a un virus. Il est sur le réseau et vous devez le trouver immédiatement ! Vous devez utiliser v_CombinedDeviceResources.CurrentLogonUser car cette vue vous indique qui est actuellement connecté.

Les autres vues SQL Server collectent les données de nom d'utilisateur en s'appuyant sur l'inventaire matériel ou la découverte de pulsation de Configuration Manager. Dans la plupart des cas, ces informations d'inventaire ne sont collectées qu'une fois par jour. Cependant, le canal BGB est mis à jour dans les 60 secondes suivant la connexion d'une personne à un ordinateur (c'est un peu plus de 60 secondes lorsqu'il se déconnecte). Cela signifie que vous pouvez trouver les données de nom d'utilisateur immédiatement.

Rechercher des données de nom d'utilisateur - Scénario 2

Vous devez localiser le propriétaire d'un ordinateur

Dans cette situation, le meilleur utilisateur de la console trouvé dans v_GS_SYSTEM_CONSOLE_USAGE_MAXGROUP est le meilleur choix à utiliser car cet utilisateur a le plus de temps de connexion pour un ordinateur spécifique et est donc probablement le propriétaire de l'ordinateur. Cette vision présente cependant quelques inconvénients. Regardez la ligne 1 dans les résultats de mon laboratoire de test. Qui est le meilleur utilisateur de console pour cet appareil ? Et la ligne 8 ? Qui est actuellement connecté à cet ordinateur ? Qui est susceptible de savoir quelque chose sur cet ordinateur ?

Rechercher des données de nom d'utilisateur - Scénario 3

Vous devez localiser le dernier utilisateur connecté pour un ordinateur

Si vous savez qui est actuellement connecté à un ordinateur ou qui est le principal utilisateur de la console, pourquoi avez-vous besoin de savoir qui s'est connecté en dernier à un ordinateur ? Ces détails sont rarement nécessaires, mais il existe quelques cas où vous devez connaître ces informations. Voir ligne 14. Dans des situations comme celle-ci, vous pouvez choisir entre v_GS_COMPUTER_SYSTEM ou v_R_System.

Habituellement, je choisis la vue v_R_System. Pourquoi? Il y a deux raisons. Premièrement, je ne trouve pas le v_GS_COMPUTER_SYSTEM très utile. Dans la partie 1, j'ai montré que les résultats pour UserName0 donnaient beaucoup de valeurs nulles. Deuxièmement, la vue v_R_System est déjà dans ma requête. Étant donné que la vue v_R_System est déjà présente, en n'ajoutant pas d'autre vue SQL Server à ma requête, je n'augmente pas non plus la surcharge qui se produirait si une vue supplémentaire devait être traitée. Voici un conseil : si vous examinez les détails de l'ordinateur, vous ne devriez jamais avoir de requête sans la vue v_R_System. Voir mon article, Obtenez les données les plus précises et à jour à l'aide de la requête SQL v_R_System_Valid dans Configuration Manager 2012, pour plus de détails.

Soit dit en passant, pendant de nombreuses années, la vue v_GS_COMPUTER_SYSTEM était ma vue de prédilection, mais à mesure que Configuration Manager a évolué, le besoin de cette vue est devenu rare, je l'utilise donc rarement. Je trouve, malheureusement, qu'il y a encore une tonne de requêtes sur Internet qui l'utilisent.

Rechercher des données de nom d'utilisateur - Scénario 4

Vous devez déterminer l'historique de la dernière connexion de l'utilisateur pour un ordinateur

C'est un peu une situation de zone grise. Vous ne devez jamais vous fier exclusivement au Configuration Manager pour savoir si un utilisateur s'est déjà connecté à un ordinateur. Utilisez plutôt AD. Si vous souhaitez toujours utiliser Configuration Manager pour une « meilleure estimation », il existe deux endroits différents pour collecter ces données. L'un des emplacements est la vue d'historique SQL Server pour v_GS_COMPUTER_SYSTEM (v_HS_COMPUTER_SYSTEM) ou v_GS_SYSTEM_CONSOLE_USAGE qui est utilisée par v_GS_SYSTEM_CONSOLE_USAGE_MAXGROUP pour déterminer l'identité de l'utilisateur de la console supérieure.

Astuce de combinaison

Pourquoi ne pas combiner trois des principales colonnes de nom d'utilisateur en une seule requête ?

isnull(SCUM.TopConsoleUser0,isnull(CDR.CurrentLogonUser, isnull(RV.User_Domain0+”+RV.User_Name0,'n/a'))) as 'username'

Lorsque le résultat Top Console User est nul, cette requête affiche les détails de l'utilisateur de connexion actuel. Si ces détails sont nuls, il affiche les informations du dernier utilisateur de connexion. Si les trois résultats du nom d'utilisateur sont nuls, alors 'n/a' s'affiche.

Rechercher des données de nom d'utilisateur - Combiner les résultats des pourboires

Cette astuce fonctionne bien, mais elle n'est pas parfaite. Il y a un problème si vous essayez de l'utiliser comme un drill down. Pour plus d'informations, voir mon article de blog, Pourquoi mon invite dans SSRS ne fonctionne-t-il pas ?

Comme je l'ai dit dans Partie 1, j'utilise les quatre vues SQL Server. Maintenant que vous savez comment chacun est le mieux utilisé, vous pouvez également tirer parti de ceux qui ont le plus de sens dans vos rapports Configuration Manager. Mieux encore, combinez les données de nom d'utilisateur similaires aux résultats que je vous ai montrés ci-dessus. N'hésitez pas à me contacter @GarthMJ si vous avez des questions.

Découvrez comment Right Click Tools change la façon dont les systèmes sont gérés.

Augmentez immédiatement votre productivité grâce à notre version Community Edition limitée et gratuite.

Commencez dès aujourd'hui avec Right Click Tools :

Assistance

  • Ce champ n’est utilisé qu’à des fins de validation et devrait rester inchangé.

Contact

  • Ce champ n’est utilisé qu’à des fins de validation et devrait rester inchangé.

En soumettant ce formulaire, vous comprenez que Recast Software peut traiter vos données comme décrit dans le Recast Software Politique de confidentialité.

fr_FRFrench