4

Есть ли способ, либо PowerShell, Batch, C #, чтобы получить список всех профилей в настоящее время на локальном компьютере. Мне нужно собрать список профилей и показать, являются ли они локальными пользователями или пользователями домена, и к какому домену они тоже принадлежат.

Как показано на скриншоте ниже, у Microsoft есть окно "Профили пользователей", которое именно то, что я ищу, за исключением того, что я хотел бы автоматизировать его и получить из сценария или чего-то еще.

Я не смог найти ничего, что делает оба.

Я попытался сделать смесь получения локальной информации профиля через WMI или через реестр, чтобы получить информацию.

Я использовал оба

win32_UserProfile

а также

win32_UserAccount

Тем не менее, UserProfile только дает мне пути к userprofiles, без информации о домене. UserAccount возвращает все AD, даже при попытке отфильтровать его по SID, но занимает много времени.

PS>Get-WmiObject -Class win32_userprofile | select localpath, SID

localpath                                 SID                                            
---------                                 ---                                            
C:\Users\TestUser1                        S-1-5-21-440147649-543696746-2340718013-21890  
C:\Users\Admin                            S-1-5-21-4226746363-32877083-2456121708-500    
C:\Users\TestUser2                        S-1-5-21-1876808186-3675847616-1704270002-46278
C:\Windows\ServiceProfiles\NetworkService S-1-5-20                                       
C:\Windows\ServiceProfiles\LocalService   S-1-5-19                                       
C:\Windows\system32\config\systemprofile  S-1-5-18

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

Где еще я могу найти эту информацию?

Текущий пользователь, изменчивая среда:

Диалог профиля пользователя Windows:

0