récupérer les documents d’une base notes

Bases notes

les bases notes contiennent des documents que vous pouvez récupérer dans un classeur excel, vous pouvez ainsi récupérer les utilisateurs d’une vue, ou toutes autres informations que vous jugez utile de récupérer.

pour ce faire, vous devez impérativement utiliser ISE (X86) , le ISE 64 bits provoquera une erreur lié à l’objet lotus.notesSession

pour récupérer les champs, vous devez connaitre la base notes, le nom de la vue et le nom des champs

une fois l’objet com lotus.notesSession chargé, on utilise les classes lotusScripts pour récupérer les données

l’exemple ci-dessous récupére les informations du masque person du names.nsf d’un serveur domino, on utilise la vue people pour récupérer l’ensemble des documents personne, on récupére ensuite les champs « fullname », « firstname », »lastname », »internetAddress »…

#se connecter impérativement avec ISE (X86) pour récupérer

#l'objet com lotus.notesSession

$notes​​ =​​ new-object​​ -comobject​​ Lotus.NotesSession

$excel=new-object​​ -ComObject​​ "Excel.application"

$excel.visible=$true

$excel.Application.DisplayAlerts=$false

$classeur=$excel.Workbooks.Add()

$feuil=$classeur.Worksheets.item(1)

 

 

$notes.initialize("")​​ 

#indiquer la base notes, le serveur domino et la vue à récupérer

$Database​​ =​​ 'names.nsf'

$server​​ =​​ 'cals221e/gtek

$View​​ =​​ 'People'​​ 

#on se sonnect au serveur, un mot de passe cous sera demandé,​​ 

$dbname=$notes.GetDatabase($server,​​ $Database,1)

write-host​​ "base ouverte:​​ $($dbname.Title)"​​ -ForegroundColor​​ Green​​ -b​​ black

 

$feuil.Range("A1").value2="Analyse des utilisateurs du domaine :​​ $($dbname.Title)"

$feuil.range("A1").font.bold=$true

$feuil.range("A1").font.color=-10477568

 

$gvue=$dbname.GetView($View)

write-host​​ "nom de la vue:​​ $($gvue.Name)"​​ -ForegroundColor​​ Yellow

 

$doc=$gvue.GetFirstDocument()

$col=2

$ligne=2

$x=0

while($doc​​ -ne​​ $null)

{

$x++

$x

 ​​ ​​​​ write-host​​ $doc.GetItemValue("Fullname")​​ -ForegroundColor​​ cyan​​ -BackgroundColor​​ black

 ​​​​ 

 ​​ ​​​​ $feuil.cells.item($ligne,$col)=$doc.GetItemValue("Fullname")

 ​​ ​​​​ $feuil.cells.item($ligne,++$col)=$doc.GetItemValue("Firstname")

 ​​ ​​​​ $feuil.cells.item($ligne,++$col)=$doc.GetItemValue("lastname")

 ​​ ​​​​ $feuil.cells.item($ligne,++$col)=$doc.GetItemValue("internetaddress")

 ​​ ​​​​ $feuil.cells.item($ligne,++$col)=$doc.GetItemValue("OfficePhoneNumber")

 ​​ ​​​​ $feuil.cells.item($ligne,++$col)=$doc.GetItemValue("mailserver")

 ​​ ​​​​ $feuil.cells.item($ligne,++$col)=$doc.GetItemValue("mailFile")

 ​​ ​​​​ 

 

 

 ​​ ​​​​ $ligne++

 ​​ ​​​​ $col=2

 ​​ ​​​​ $doc=$gvue.GetNextDocument($doc)

 ​​ ​​​​ 

}

$classeur.saveas('c:\temp\users.xlsx')

$classeur.close()

$excel.quit()​​ 

 

 

Laisser un commentaire