Мы сканируем активный каталог, чтобы найти все объекты компьютера.Затем для каждой машины мы пытаемся найти пользователя, который использовал эту машину чаще всего, то есть основного пользователя.
Чтобы найти эти данные, мы нашли 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
?
Спасибо за помощь.