Usando o PowerShell, como posso obter o nome completo do usuário do domínio atualmente conectado (não apenas o nome de usuário) sem a necessidade do módulo ActiveDirectory?
windows
powershell
Jonathan Rioux
fonte
fonte
Eu gosto da resposta aceita, mas só porque eu queria tentar isso sozinho:
retorna:
ou se você deseja não ter as informações do cabeçalho e apenas o resultado:
fonte
Um revestimento usando o Powershell 3.0:
fonte
Com base no seu comentário na resposta aceita de Craig620,
Parece que você está tentando evitar a instalação de módulos do PowerShell nas estações de trabalho dos usuários. Sim, mas também não, você não precisa ser um administrador de domínio para procurar seu próprio nome no AD. Você pode procurar praticamente todas as informações que aparecem na GAL no Outlook, incluindo o nome completo, como usuário padrão.
Você também pode procurar os nomes completos de outras pessoas como um usuário padrão no AD (usando
Get-WmiObject Win32_userAccount
, se desejar evitar os módulos do AD). As contas de serviço que consultam o AD (bem, antes das contas de serviço gerenciadas ) geralmente são usuários padrão e sem privilégios do AD.fonte
Usar -match não é uma boa opção, porque um $ env: USERNAME de "ed" corresponderá a "fred" e "edith". Em vez disso, use -eq para obter uma correspondência exata e adicione o domínio, se necessário. Eu uso um loop foreach no final para remover todos os espaços em branco à esquerda como alternativa para "selecionar nome completo | ft -HideTableHeaders", que imprime uma nova linha à esquerda e à direita.
fonte
Se você sempre possui o .Net 3.5 ou superior (o que deveria com o PowerShell v4.0 e superior):
Essa classe fornece acesso muito fácil a todas as propriedades LDAP comuns, portanto, você não precisa procurar duas vezes (uma vez com o WinNT e novamente com LDAP) ou usar
[ADSISearcher]
para fazer uma pesquisa LDAP se desejar algumas propriedades estendidas que o WinNT não implementa .fonte
Se você não quiser usar o módulo do Active Directory, não poderá; a menos que você queira ir ainda mais fundo e executar uma consulta LDAP real em um controlador de domínio.
Qualquer informação de usuário que não seja o nome de usuário é armazenada no Active Directory e precisa ser recuperada lá.
fonte
[ADSI]
interface existe há muito mais tempo que os módulos do AD, e realmente não é tão complicado, como mostra a resposta aceita.