Modify the variables at the top and let'r rip!
## Notes View Exporter in Powershell
Set-Location 'C:\Program
Files (x86)\IBM\Notes' ## Notes Program Dir
$dominoServiceName = 'Appsrv001/MyCompany'
$dbName = 'names.nsf'
$viewName = 'Groups'
$session = $null; $session
= New-Object
-ComObject Lotus.NotesSession;
$session.Initialize();
'Notes version: '+$session.NotesVersion
$db = $null; $db = $session.GetDatabase($DominoServiceName, $dbName, 1);'DB Title: '+$db.Title
$view = $null; $view
= $db.GetView($viewName);'Entry Count: '+$view.EntryCount
$oOut=@();
$count =
0; $dtStart = (get-date)
if($view.EntryCount -gt
0){
$doc = $view.getFirstDocument();
$viewcolumns
= $view
| select -ExpandProperty Columns
While ($doc -ne $null){
if
(($count/100) -eq [int]($count/100)){$dtCurr = (get-date); 'Count: '+$count+' of '+$view.EntryCount+': '+$dtCurr.Hour.ToString('#0')+':'+$dtCurr.Minute.ToString('#0')+':'+$dtCurr.Second.ToString('#0')+'.'+$dtCurr.Millisecond.ToString('###0')}
$oItem
= $null;
$oItem =
New-Object PSObject
for
($i=0;$i-lt$viewcolumns.count;$i++){
$val=$null;$val=if($viewcolumns[$i].Formula -gt
''){$viewcolumns[$i].Formula}else{$viewcolumns[$i].Itemname};
$oItem
= $oItem
| Add-Member
@{(''+$i+'. '+$viewcolumns[$i].title)=[string]''+($session.Evaluate($val,$doc))} -PassThru
};
$oOut
+= $oItem
$doc=$view.GetNextDocument($doc);
$count++
}
}
$YYYYMMDDhhmmss = $dtStart.year.ToString('###0')+$dtStart.Month.ToString('#0')+$dtCurr.Day.ToString('#0')+$dtCurr.Hour.ToString('#0')+$dtCurr.Minute.ToString('#0')+$dtCurr.Second.ToString('#0')
$oOut | export-csv ('c:\data\notesviewexport'+$YYYYMMDDhhmmss+'.csv')
$oOut | Export-Clixml ('c:\data\notesviewexport'+$YYYYMMDDhhmmss+'.xml')