Capturando a saída do comando com base na string

0

Encontrei este script e estou tentando usá-lo para encontrar uma conta do AD pesquisando a associação de grupos da seguinte forma:

ForEach ($Group in (Get-ADGroup -Filter * -searchbase "dc=acme,dc=local"))  
{ 
    $output = Get-ADGroupMember $Group | Select @{Label="Group";Expression={$Group.Name}},Name,SamAccountName
}

Não tenho ideia de como colocaria uma declaração if neste código. Se existe uma maneira melhor de realizar a mesma coisa, por favor avise. O objetivo principal é pesquisar os grupos do AD por um nome de usuário e retornar o nome do grupo do qual o usuário especificado é membro.

Obrigado

    
por James1984 04.09.2018 / 20:01

1 resposta

0

Parece que você é novo no PowerShell e no script ADDS. É vital que você passe algum tempo fazendo todo o treinamento e vídeos disponíveis gratuitamente via…

Pesquise pelo PowerShell iniciante em

  • Microsoft Virtual Academy
  • Laboratórios virtuais do TechNet
  • YouTube
  • MS Channel9

… para obter uma linha de base sólida. Além disso, embora um pouco datado, mas ainda recomendado, pegue e use uma cópia do PowerShell em um mês de almoços de Don Jones.

Existem muitas amostras existentes, mesmo scripts totalmente pré-construídos de exatamente como fazer isso em toda a web. O MS PowerShellGallery deve ser o seu ponto de partida.

Get the group membership of a given AD group and return a user-specified list of attributes to a CSV file.

https://www.powershellgallery.com/packages/getADGroupMembershipWithProperties/1.1/DisplayScript

Você também pode usar os cmdlets ADDS diretamente. Não, se a declaração for necessária. Isso é mostrado no arquivo de ajuda integrado do PowerShell por meio do texto e exemplos fornecidos nos arquivos de ajuda. É só uma questão de filtrar pelo nome

Apenas usando o material interno.

Clear-Host
$TargetUsername = Read-Host -Prompt 'Enter a username'
"Getting groups for user $TargetUsername"
Get-ADPrincipalGroupMembership -Identity $TargetUsername | 
Select-Object -Property  @{Name = 'GroupName';Expression = {$_.Name}},SamAccountName | 
Format-Table -AutoSize

Se você deseja obter grupos aninhados, mais código é necessário. O cmdlet interno não mostra grupos aninhados ou indiretos.

    
por 05.09.2018 / 09:26