Como obter usuários do AD de uma lista de caixas de correio do Exchange 2003?

1

Eu tenho um ótimo VBscript que listará todas as minhas caixas de correio do Exchange 2003 com um tamanho abaixo de um determinado tamanho.

Eu tenho outro ótimo VBscript que aceita uma lista de usuários e define as cotas para cada um desses usuários.

Alguém pode preencher a lacuna e apontar-me na direção de um método (VBscript ou outro) pelo qual eu possa definir a cota para todos os usuários que têm uma caixa de correio abaixo de um certo limite?

Estou tentando reduzir meus limites de caixa de correio e quero começar a impor esse limite para usuários que já estão abaixo dele. Dessa forma, o maior problema de levar as pessoas abaixo do novo limite não é maior!

Atualização : Graças a Evan Anderson, descobri que preciso converter meu GUID em outro formato para uso em uma consulta LDAP. A Microsoft tem um artigo da base de conhecimento que explica como fazer isso, mas não tenho os GUIDs no formato necessário. Há outro artigo kb que descreve " como converter um GUID formatado por cadeia de caracteres em um formato de cadeia hexadecimal para uso ao consultar o diretório ativo ", mas o script lança um erro.

Atualização 2 : Ok - esqueça o script VB. Eu encontrei uma maneira mais sucinta de obter meus dados usando o PowerShell.

$computers = "vexch01","vexch02"
foreach ($computer in $computers) {
  Get-Wmiobject -namespace root\MicrosoftExchangeV2 -class Exchange_Mailbox -computer $computer | sort-object -desc Size | select-object MailboxDisplayName,StoreName,@{Name="Size/Mb";Expression={[math]::round(($_.Size / 1024),2)}}, MailboxGUID | Export-Csv -notype -Path $computer.csv 
}

Atualmente, isso gera o MailboxGUID como um GUID de tipo de string (por exemplo, {21EC2020-3AEA-1069-A2DD-08002B30309D}). Eu quero procurar usuários no AD por isso, mas o AD os armazena no formato octetBytes.

Eu encontrei algumas funções do powershell que farão a conversão, mas apenas quando as chaves são removidas. O método Guid.ToString deve fornecer isso, mas não consigo para trabalhar no acima.

No entanto, se eu puder descobrir como fazer isso, o Guid.ToByteArray método pode me aproximar ainda mais.

Alguém já quebrou isso?

    
por dunxd 23.08.2011 / 18:39

1 resposta

6

Sem ver seus scripts, é difícil fornecer uma solução de "turn key". Você provavelmente será capaz de corresponder as contas de usuário às caixas de correio, fazendo uma pesquisa LDAP contra o msExchMailboxGuid , dependendo se o script de tamanho da sua caixa de correio pode ou não retornar isso. Esse GUID emparelhará de forma não ambígua uma conta de caixa de correio e de usuário do AD em toda a organização do Exchange.

    
por 23.08.2011 / 19:04