Script do PowerShell para repetir todos os usuários em um grupo

3

Estou executando o Windows 7 Professional.

Eu sei como obter uma lista de todos os usuários em um grupo:

$ou="User Groups"
$userADName="RRAS VPN SSL"
$userADPath="LDAP://proddc6.prod.root/CN="+$userADName+",OU="+$ou+",DC=prod,DC=root"
$user = [adsi] $userADPath
$user.Member

Eu tentei iterar sobre essa lista, criando um objeto [adsi] para cada:

$ou="User Groups"
$userADName="RRAS VPN SSL"
$userADPath="LDAP://proddc6.prod.root/CN="+$userADName+",OU="+$ou+",DC=prod,DC=root"
$user = [adsi] $userADPath
$user.Member| ForEach-Object {[adsi] ("ldap://proddc6.prod.root/" + $_)}

Eu estava pensando em percorrer a lista de objetos e buscar o endereço de e-mail e o nome completo, depois executar alguns comandos usando essas informações. Em vez disso, isso produz o erro:

The following exception occurred while retrieving member "PSComputerName": "Unknown error (0x80005000)"
    + CategoryInfo          : NotSpecified: (:) [format-default], ExtendedTypeSystemException
    + FullyQualifiedErrorId : CatchFromBaseGetMember,Microsoft.PowerShell.Commands.FormatDefaultCommand

Como posso iterar a lista de usuários em um grupo, processando o endereço de e-mail e o nome completo de cada usuário?

    
por John Saunders 14.10.2011 / 04:00

1 resposta

1

Você obtém esse erro porque o caminho LDAP que você está enviando para o loop não está correto. Você está canalizando $user.Member para o ForEach-Object , envia todos os usuários e não um bye um.

Então você está enviando algo como:

ldap://proddc6.prod.root/CN=User1,CN=Users,DC=prod,DC=root CN=User2,CN=Users,DC=prod,DC=root

Eu criei este script baseado no seu, faça o que você precisa: interaja sobre os membros de um grupo. Faça o que quiser com o objeto $useradsi no loop.

$ou="User Groups"
$userADName="RRAS VPN SSL"
$objADSI = [adsi]””
$domain = $objADSI.distinguishedname
$userADPath="LDAP://CN="+$userADName+",OU="+$ou+",$domain"
$user = [adsi] $userADPath

foreach($child in $user.member) {
$useradsi = [adsi] "LDAP://$child"
}
    
por 16.10.2011 / 15:55