
Como posso obter uma lista de usuários ativos e seus perfis (direitos de acesso) ao sistema operacional no Windows Server 2003?
Responder1
Depende do que você entende por "ativo" e por "perfis" e por "direitos de acesso". Também depende se você está interessado em usuários locais ou usuários de domínio.
Para usuários locais, você pode usar net user
em um prompt de comando.
C:\Users\MyUser>net user
User accounts for \\TestMachine
-------------------------------------------------------------------------------
DefaultAccount defaultuser0 Administrator
JohnSmith SallyJones MyUser
Para saber se cada um está ativo (e neste caso, o Windows usa "ativo" para significar "habilitado" - não tem nada a ver com o fato de eles estarem conectados no momento ou quando interagiram mais recentemente com o sistema), você pode usar net user <username>
.
C:\Users\MyUser>net user administrator
User name administrator
Full Name administrator
Comment Administrator Account
User's comment
Country/region code 000 (System Default)
Account active No
Account expires Never
[...]
Local Group Memberships *Administrators *Performance Log Users
[...]
The command completed successfully.
E então você pode analisar a parte “Conta ativa”. Mas o Powershell torna isso mais fácil.
Get-LocalUser
Isso lhe dará todos os usuários locais. Para filtrar apenas usuários ativos (habilitados):
Get-LocalUser | Where Enabled -eq "True"
Quanto aos direitos de acesso (não é a mesma coisa que um perfil, mas presumo que você esteja procurando direitos de acesso), o net user <username>
comando fornecerá uma lista dos grupos locais dos quais o usuário é membro. (Mas encontrar exatamente a qual objeto esses grupos (ou os usuários diretamente) têm acesso exigirá um loop por todos os objetos protegidos.)
Se você puder esclarecer o que está tentando realizar, essa resposta provavelmente poderá ser melhorada.