Existe uma maneira, por PowerShell, lote, c # para obter uma lista de todos os perfis atualmente na máquina local. Eu preciso coletar uma lista de perfis e mostrar se eles são usuários locais, ou usuários de domínio, e qual domínio eles pertencem também.
Como mostrado na captura de tela abaixo, a Microsoft tem a janela "User Profiles", que é exatamente o que estou procurando, exceto que eu gostaria de automatizá-la e obtê-la a partir de um script ou algo assim.
Não consegui encontrar nada que faça as duas coisas.
Eu tentei fazer uma combinação de obter informações de perfil local via WMI ou por meio do registro para obter as informações.
Eu usei os dois
win32_UserProfile
e
win32_UserAccount
No entanto, UserProfile só me fornece os caminhos para userprofiles, sem informações de domínio. UserAccount retorna todo o AD, mesmo ao tentar filtrá-lo pelo SID, mas demora muito para ser feito.
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
Minha próxima tentativa foi usar as informações do WMI e carregar as seções do registro de usuários e obter o domínio em que estão, mas não encontrei nenhuma informação útil quando a seção de registro dos usuários foi carregada. Eu notei que se o usuário atual estava logado há uma chave lá para o "Ambiente Volátil" (screenshot abaixo), que tem todas as informações que eu preciso, mas só está disponível quando o usuário está logado, não carregando o arquivo. colmeia manualmente.
Onde mais posso procurar essa informação?
Usuário atual, ambiente volátil:
DiálogodeperfildeusuáriodoWindows:
Tags windows