【发布时间】:2019-02-13 09:29:53
【问题描述】:
我们正在扫描活动目录以查找所有计算机对象。然后对于每台机器,我们试图找到使用该机器最多的用户,即主要用户。
为了找到这些数据,我们发现了 2 个针对 SCCM 的有效查询:
$Query = "
SELECT
SMS_R_User.FullUserName, SMS_R_User.UniqueUserName, SMS_R_System.Name
FROM
SMS_R_System
INNER JOIN
SMS_G_System_SYSTEM_CONSOLE_USAGE
ON
SMS_G_System_SYSTEM_CONSOLE_USAGE.ResourceId = SMS_R_System.ResourceId
INNER JOIN
SMS_R_User
ON
SMS_G_System_SYSTEM_CONSOLE_USAGE.TopConsoleUser = SMS_R_User.UniqueUserName
"
$Query = "
SELECT
SMS_R_System.name, SMS_R_User.UniqueUserName
FROM
SMS_R_System
INNER JOIN
SMS_UserMachineRelationship
ON
SMS_UserMachineRelationship.ResourceId = SMS_R_System.ResourceId
JOIN
SMS_R_User
ON
SMS_UserMachineRelationship.UniqueUserName = SMS_R_User.UniqueUserName
WHERE
SMS_UserMachineRelationship.Types = 1
"
我们执行这些:
$WmiParams = @{
Namespace = "root\SMS\site_EU1"
ComputerName = $SCCMServer
Query = $Query
}
$Result = Get-WmiObject @WmiParams
我们不是 SCCM 专家,但两个查询给出不同的结果并重复计算机对象 $Result.SMS_R_System.Name | Group-Object | where Count -ge 2。
使用SamAccountName 和FullUserName 将一台机器名连接到一个主要用户的正确查询是什么?
感谢您的帮助。
【问题讨论】:
标签: powershell sccm wql