2013-03-04 2 views
0

Powershell을 사용하여 Lotus Notes names.nsf 주소록에서 인터넷 전자 메일 주소를 검색해야합니다.Powershell을 사용하여 Lotus Notes 인터넷 전자 메일 주소를 찾으십시오.

메모 내에서 내가 검색하고자하는 인터넷 이메일 주소를 볼 수 있습니다. 메일 섹션의 기본 탭에있는 "인터넷 주소"필드에 있습니다. 그러나, 내가보기에 그것을, 또는 그것을 쿼리하거나 파생하는 방법을 찾을 수 없습니다. Lotus Notes의 "Work/Home"탭에서 회사가 찾고자하는 이메일 주소를 필터링하는 것도 도움이 될 것입니다.

IE에서 names.nsf 파일 중 하나를 열면 원하는 필드가 많이 표시되지만 형식이 지정된 인터넷 전자 메일 주소는 거기에 없습니다. 내가 보는 모든 로터스 이메일 주소의 스타일 노트입니다 :

이름 성/mycompany/ABC @ ABC

($ (16)라는 이름에 열 이름).

Lotus Notes의 names.nsf 주소록에서 전체 인터넷 전자 메일 주소를 가져 오는 방법이 있습니까? 그렇다면 어떻게? 사용자가 "숨겨진"뷰를 ​​사용할 수있는 경우 숨겨진 뷰의 값을 어떻게 쿼리합니까?

감사합니다.

+1

몇 가지 힌트를 : http://stackoverflow.com/a/10648847/520612 –

답변

2

사람 문서를 찾는 데 가장 좋은보기는 "$ 사용자"라는 숨겨진보기입니다. 생각할 수있는 이름의 모든 변형에 의해 색인이 생성되므로 조회가 작동하는 경향이 있습니다. 보기에서 사용자 문서를 열고 "InternetAddress"라는 NotesItem을 읽거나 17 열이라고 생각하는 "InternetAddress"라는 레이블이 붙은보기 열에서 직접 읽을 수 있습니다.

+0

어떻게 쿼리 /를 ($ 사용자) 숨겨진 목록보기합니까? 사용할 수있는 뷰를 나열하면 ($ Users) 볼 수 있지만 그 중 하나의 항목에는 표시되지 않습니다. –

+1

Notes 클래스에 대한 최상의 설명서는 Domino Designer 도움말 파일에 있습니다. 실제 개발에 사용하지 않더라도이를 설치하고 참조 용으로 사용하는 것이 좋습니다. 어떤 코드도 표시하지 않았기 때문에 PowerShell이나이 코드를 작성하는 방법에 대해 알지 못해서 할 수있는 최선의 방법은 LotusScript에서 수행 할 수있는 방법 중 하나를 보여주는 것입니다. set myView = Database.getView ("$ Users"); set myEntry = myView.GetEntryByKey ("username goes here", true); myInternetAddress = myEntry.columnValues ​​(18). (나는 그 값 18에 대해 100 % 확실하지 않다.) –

+0

내가 잘못하고있는 것을 발견했다. 나는 첫 번째 문서를 선택하고 그 다음에 아무것도 붙이지 않았다. 매번 같은 Null 문서를 반환했습니다. $ doc = $ view.getfirstdocument() 다음에 잠시 동안 $ doc -ne $ null을 실행하여 의미있는 데이터를 얻습니다. $ internetAddress = [string] $ doc.GetItemValue ("InternetAddress "라고 쓰고 그것을 쓴다. 그러나, 나는 $ Users 뷰에 중복이 있음을 알았습니다. 그 동안 어떻게 할 수 있습니까? 그렇지만 구별되는 값만을 얻으려면 (1 패스 이상)? –

0

powershell을 사용하여 NAB에서 지정된 사용자의 모든 속성에 액세스 할 수 있습니다. Notes 클라이언트가 32 비트 인 경우 32 비트 버전의 PS를 실행해야합니다. Notes ID 비밀번호를 입력하라는 메시지가 나타납니다.

여기
$notes=new-object -comobject Lotus.NotesSession; 
    $notes.Initialize(""); 
    $ndb = $notes.getdatabase("admin","names.nsf"); 
    $nview = $ndb.getview('($Users)'); 
    $searchkey = "Schmoe"; #whatever 
    $doc =$nview.getdocumentbykey($searchkey,$true); 
    $mailaddress = $doc.getitemvalue('mailaddress')[0]; 
    $internetaddress = $doc.getitemvalue('internetaddress')[0]; 
관련 문제