Existe uma maneira de linha de comando para listar todos os usuários em um grupo específico do Active Directory?
Eu posso ver quem está no grupo indo em Manage Computer --> Local User / Groups --> Groups e clicando duas vezes no grupo.
Eu só preciso de uma maneira de linha de comando para recuperar os dados, para que eu possa fazer algumas outras tarefas automatizadas.
Aqui está outra maneira do prompt de comando, mas não tenho certeza de quão automatizável, pois você teria que 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":
Aqui está uma versão do comando ds que achei mais útil, especialmente se você tiver uma estrutura de UO complexa e não souber necessariamente o nome distinto completo do grupo.
ou se você conhece o CN do grupo, geralmente o mesmo que o SAM ID, citado caso haja 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 de ferramentas de administração das ferramentas de suporte na mídia de instalação do Windows Server ou baixá-lo do site de download da Microsoft.
Você também pode realizar 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á baixar o WinRM Framework para instalá-lo no XP ou Vista.
Para obter acesso a qualquer cmdlets específicos do AD no PowerShell, você TAMBÉM precisará realizar pelo menos uma das seguintes instalações:
tentar
Para uma solução do PowerShell que não requer o suplemento Quest AD, tente o seguinte
Isso enumerará os grupos aninhados também. Se você não quiser fazer isso, remova a opção -recursive .
Uma maneira muito fácil que funciona em servidores e clientes:
Retorna 1 se o usuário estiver no grupo YOURGROUPNAME, senão retornará 0
Você pode então usar o valor %ERRORLEVEL% (0 se usuário no grupo, 1 se não) como
Usando o Shell de gerenciamento de ActiveRoles gratuito do PowerShell e da Quest Software para Active Directory, você pode usar:
(Get-QADGroup "GroupName").Membros
http://www.quest.com/powershell/activeroles-server.aspx
As respostas aqui usando
dsget
edsquery
só funcionarão em 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:
Para membros de exibição do
UserGroup1
try:Como listar grupos e usuários locais?
Use o script powershell a seguir para listar os grupos locais e os membros desses grupos.
Copie o texto acima no bloco de notas e salve como
filename.ps1
. Em seguida, execute o arquivo. Eu deveria exibir os grupos e usuários em cada grupo, ou você pode simplesmente executar isso no powershell.