отношения между пользователем и компьютером

Я использовал, Добираются-ADUser и Добираются-ADComputer несколько раз, чтобы помочь диагностировать проблемы в системе.

Я видел несколько способов определить, какой пользователь зарегистрирован определенная машина через любой реестр, PsLoggedon.exe и другие сценарии, но так как я не действительно администратор сети, я часто получаю доступ запрещен. Который прекрасен, потому что я не действительно интересен в рытье настолько глубоко.

Все, в чем я нуждаюсь, должно так или иначе определить, у каких пользователей есть учетная запись (профиль) на машине (или какие машины имеют учетную запись пользователя), таким образом, я могу связаться с ними и помочь им каждый раз, когда исключение прибывает из их IP-адреса.

Нет ли абсолютно никакие отношения между этими двумя объектами out-of-the-box?

3
задан 13 April 2017 в 15:13
2 ответа

Нет абсолютно никакой связи между этими объектами "из коробки". Windows 8 / Windows Server 2012 представила концепцию атрибута схемы «первичный компьютер» Active Directory, но я очень сомневаюсь, что вы обнаружите, что он используется.

Получение авторизованного пользователя на удаленная машина - одна из тех вещей, которые звучат так, как будто это должно быть очень просто, но на практике это не так.

Я думаю, вам придется заручиться некоторой поддержкой со стороны вашего сетевого администратора чтобы надежно получить то, что вы ищете. Для удаленного запроса информации вошедшего в систему пользователя «обычными средствами» ( psloggedon , запросы WMI, удаленный доступ к реестру) потребуется либо наличие прав локального администратора на удаленном компьютере, либо внесение изменений в по умолчанию предоставляет это право вашему контексту, не являющемуся администратором.

Чтобы перейти к разговору о «взломах»: я могу представить сценарий, в котором ваш обработчик исключений пытается перенаправить браузер пользователя на страницу, требующую аутентификации NTLM, и, если клиенты настроены на автоматическую попытку аутентификации с использованием учетных данных вошедшего в систему пользователя, вы можете «собрать» учетные данные таким образом. Я также мог видеть, как это может быть неправильно истолковано персоналом сетевого администрирования как атака на пользователей, поэтому я настоятельно рекомендую не делать этого.

Предположительно вы администрируете веб-приложение, но не являетесь частью персонала сетевого администрирования. . Если бы вы могли заставить администрацию сети купить присоединение вашего веб-сервера к домену, вы могли бы включить аутентификацию, после чего вы бы знали имя пользователя удаленного пользователя и вам не пришлось бы возиться с любым из этих IP-адресов. Если ваши клиенты правильно настроены, аутентификация также может происходить прозрачно.

6
ответ дан 3 December 2019 в 04:49

Существующие профили на компьютере Windows перечислены в следующем разделе реестра:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList

Он содержит подраздел для каждого профиля пользователя, а имя каждого подраздела идентифицирует соответствующего пользователя по идентификатору безопасности.

Вы можете «обнаружить» профили пользователей, перечислив подключи и переведя все SID пользователей в соответствующие им объекты учетных записей:

$profileList = "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList"
# Retrieve subkeys that represent user profiles
$UserProfiles = Get-ChildItem $profileList |? {$_.Name -like "*S-1-5-21-*"}

foreach($Profile in $UserProfiles)
{
    $ntAccType = [System.Security.Principal.NTAccount] -as [Type]
    $userSid = ($Profile.Name-split"\\")[-1]
    try{
        # Attempt to translate the SID to an NTAccount object
        (New-Object System.Security.Principal.SecurityIdentifier $userSid).Translate($ntAccType)
    } catch {"Translating SID $userSid to Account failed"}
}
5
ответ дан 3 December 2019 в 04:49

Теги

Похожие вопросы