Existe uma maneira de linha de comando para listar todos os usuários em um grupo específico do Active Directory?
Para ver quem está no grupo, vá para Gerenciar Computador -> Usuário / Grupos Locais -> Grupos e clique duas vezes no grupo.
Eu só preciso de uma maneira de linha de comando para recuperar os dados, para que eu possa executar outras tarefas automatizadas.
windows
active-directory
Peter Mortensen
fonte
fonte
dsget group "CN=GroupName,DC=domain,DC=name,DC=com" -members -expand
fornece os membros nos grupos aninhados, embora isso não ajude com duplicatas, e fornece a sequência de consultas completa do AD para o membro, não apenas o CN deles.Aqui está outra maneira do prompt de comando, sem saber o quão automatizável, pois você precisaria analisar a saída:
Se o grupo for "grupo de segurança global":
Se você estiver procurando por "grupo de segurança local do domínio":
fonte
net user /domain
). Obrigado!Aqui está uma versão do comando ds que achei mais útil, principalmente se você tiver uma estrutura complexa de OU e não necessariamente souber o nome distinto completo do grupo.
ou se você conhece o CN do grupo, geralmente o mesmo que o ID do SAM, citado no caso de haver espaços no nome:
Conforme declarado nos comentários, por padrão, os comandos ds * (dsquery, dsget, dsadd, dsrm) estão disponíveis apenas em um controlador de domínio. No entanto, você pode instalar o pacote Admin Tools a partir das Ferramentas de Suporte na mídia de instalação do Windows Server ou baixá-lo no site de Download da Microsoft.
Você também pode executar essas consultas usando o PowerShell. O PowerShell já está disponível como um recurso instalável para Server 2008, 2008 R2 e Windows 7, mas você precisará fazer o download do WinRM Framework para instalá-lo no XP ou Vista.
Para obter acesso a qualquer cmdlets específico do AD no PowerShell, você também precisará executar pelo menos uma das seguintes instalações:
fonte
Para uma solução do PowerShell que não requer o suplemento do Quest AD, tente o seguinte
Isso enumerará os grupos aninhados também. Se você não desejar, remova a opção -recursive .
fonte
Uma maneira muito fácil que funciona em servidores e clientes:
Retorna 1 se o usuário estiver no grupo YOURGROUPNAME, caso contrário, retornará 0
Você pode usar o valor% ERRORLEVEL% (0 se usuário do grupo, 1 se não), como
fonte
whoami /groups | find /I /C "YOURGROUPNAME"
Usando o Shell de Gerenciamento gratuito de ActiveRoles do PowerShell e da Quest Software para o Active Directory, você pode usar:
(Get-QADGroup "GroupName"). Membros
http://www.quest.com/powershell/activeroles-server.aspx
fonte
As respostas aqui usando
dsget
edsquery
funcionarão apenas nas versões de servidor do Windows, pois esses comandos não são enviados em outras versões do Windows (por exemplo, Windows 7). Em máquinas sem esses comandos, você pode obter as informações desejadas usando o comando AdFind .Aqui está um exemplo de consulta para obter associação ao grupo:
fonte
Como listar grupos e usuários locais?
Use o seguinte script do PowerShell para listar os grupos locais e os membros desses grupos.
Copie o texto acima para o bloco de notas e salve como
filename.ps1
. Em seguida, execute o arquivo Eu devo exibir os Grupos e Usuários em cada grupo, ou você pode simplesmente executar isso no PowerShell.fonte
cmdlet ForEach-Object at command pipeline position 1. Supply values for the following parameters:
e, em seguida, solicita entrada, #Process[0]
Para exibir membros da
UserGroup1
tentativa:fonte
cmd
por algum motivo.dsget failed:'Target object for this command' is missing.