Caixas Postais Órfãs

  • 08 May, 2009

Um erro comum que acontece em vários ambientes é aquele quando um usuário é removido do ambiente, sua caixa postal então não é apagada por diversos motivos, técnicos ou não.
Com o passar do tempo o Schedule Manager começa a gerar erros, principalmente quando o servidor é iniciado, informando que o dono (owner) de um banco de dados mailfulano.nsf existe mas o usuário Fulano/Acme não existe.
Fiz um agente que gera um relatório informando se existem caixas postais órfãs. O que o agente faz:
Ele procura as caixas postais, abre o banco de dados, localiza o nome do owner no profile da agenda (calendar profile) e verifica se o owner existe no Domino Directory. Se o usuário não existir um documento é criado.
Não coloquei um método para apagar o banco de dados pois podem aparecer “falsos positivos”.  Executei este agente em dois servidores e apareceram somente 2 falsos positivos entre 400 bancos de dados que teriam de ser realmente apagados.
É necessário criar um Formulário com alguns campos e uma visão para exibir o resultado

Formulário: usuario

Image:Caixas Postais Órfãs
O agente tem o código abaixo

Sub Initialize
       Dim db As NotesDatabase
       Dim ses As NotesSession
       Dim doc As NotesDocument
       Dim docUsu As NotesDocument
       Dim dbdir As NotesDbDirectory
       Dim maildb As NotesDatabase
       Dim Nab As NotesDatabase
       Dim col As NotesDocumentCollection
       Dim Nome As String
       Dim profile As NotesDocument
       Dim Data As New NotesDateTime(“1/1/1980”)
       Dim searchString As String
       Set ses = New NotesSession
       server = Inputbox (“Nome do Servidor) (Enter para Local)”)
       subdir = Inputbox (“Em qual subdiretório o agente deve procurar as bases? ( Enter para todos os diretórios) “)
       If subdir <> “” Then subdir=subdir & “”
       Set db = ses.CurrentDatabase
       Set dbdir = ses.GetDbDirectory(server)
       Set Nab = ses.GetDatabase(server,“names.nsf”)
       Set maildb = dbdir.GetFirstDatabase(DATABASE)        
       While Not (maildb Is Nothing)        
               If Instr(1,maildb.FilePath,subdir,5)<>0 Then
                       Call maildb.Open(“”,“”)
                       If maildb.IsOpen Then
                       ’informações base correio  profile
                               Set profile = maildb.GetProfileDocument(“CalendarProfile”)
                               Nome = profile.Owner(0)
                       ’procura usuário livro endereços
                               searchString = “Form = ‘Person’ & FullName=‘” & Nome & “’”
                               Set col = nab.Search(searchString,data,0)
                               If col.Count=0 Then
                                       Set  docUsu = db.CreateDocument
                                       docUsu.Form = “usuario”
                                       docUsu.NmUsu = Nome
                                       docUsu.ArqMail = maildb.FilePath
                                       docUsu.UtmMdf=maildb.LastModified
                                       Call docUsu.save (True,False)
                               End If
                       End If
               End If
               Set maildb = dbdir.getnextdatabase
       Wend

End Sub

Related Posts

Verificando Mail Cluster

  • 24 Aug, 2009

Verificar se um cluster Domino está todo "sincronizado" é trabalhoso. Existe uma ferramenta para analisar o cluster no Domino Administrator mas se um relatório mais detalhado for necessário a ferramenta não disponibiliza.
Achei um código que gera uma planilha, comparando os diretórios de dois servidores. As informações dos bancos de dados podem ser facilmente trocadas.
O script analisa, basicamente informações importantes para servidores de correio em cluster.
O código está abaixo pode ser colocado em um agente ou botão. Para evitar erros de acesso é bom executar como Full Administrator. Sub Initialize
        On Error Resume Next
        Dim session As New n

Verificando Mail ClusterRead More

Domino e índice de disponibilidade

  • 29 Apr, 2009

Após configurar dois servidores Domino 8.5 (Linux SLSES 10) e replicar todos os bancos de dados a nova etapa é fazer tunning dos servidores.
Para que o Cluster funcione corretamente é necessário ajustar o parâmetro SERVER\TRANSINFO\RANGE=n no notes.ini que por default tem o valor de 6.
Este valor default vale para máquinas não tão boas, mas máquinas modernas com vários cores é necessário ajustar este parâmetro para que o seu índice não fique sempre em zero (0 = servidor ocupado e 100 = servidor disponível). Este ajuste é importante para definir também o ponto onde um servidor vai ser considerado ocupado para que ele redirecione requisições para o outro membro do Clu

Domino e índice de disponibilidadeRead More

Configurando ICM fora de um Cluster

  • 28 Apr, 2009

A configuração do ICM (Internet Cluster Manager) é uma tarefa relativamente simples. Algumas configurações de ICM são bem simples, por exemplo as que tem somente um ICM e este ICM está dentro do Cluster do Domino.
Realizamos hoje uma configuração que é composta de dois servidores Domino atuando como ICM  para um cluster de 04 servidores Domino de Correio.
Além das configurações normais uma variável nova: NLB da Microsoft como solução de balanceamento (não usamos o DNS Round Robin)
Estamos testando e até agora não tivemos problemas. Para ver como configurar 02 ICM's para um Cluster Domino veja o TN 1101534(http://www-01.ibm.com/support/docview.wss?uid=swg21101534)

Configurando ICM fora de um ClusterRead More