使用Powershell创建Notes用户5

问题描述 投票:0回答:3

我已经发现了很多东西,我发现很明显一些Lotus Script在powershell上运行,但我正在尝试创建一个用户,似乎没有任何帖子。

我开始了

$notes = New-Object -ComObject Lotus.NotesSession
$notes.Initialize()

但是从那里我被卡住任何提示或想法将不胜感激,如果你知道如何指定组也是美好的。

到目前为止我已经开发了脚本

$notes = New-Object -ComObject Lotus.NotesSession
$notes.Initialize()    
Set notesRegistration.RegisterNewUser "Test User"
Set reg.RegistrationServer "NotesServer"
Set reg.CreateMailDb "True"
Set reg.CertifierIDFile "\\IdStore\LOTUS\ids\Servers\cert.id"
Set reg.Expiration "dt"
Set reg.IDType "ID_HIERARCHICAL"
Set reg.MinPasswordLength "0"          
Set reg.OrgUnit "Domain.com"
Set reg.RegistrationLog "log.nsf"
Set reg.UpdateAddressBook "True"
Set reg.StoreIDInAddressBook "True"
Set reg.RegisterNewUser "Test User"
Set Reg.IdLocation "\\Idstore\data\lotus\Ids\tuser.id"
  "CN=NotesServer",  
  "Test",                         
  "",                             
  "Certifierpassword",                   
  ""                              
  "",                              
  "tuser.nsf",                     
  "",                              
  "Domain.com"

我没有得到任何错误,但我也没有成功,有什么明显我错过了吗?

powershell lotus-notes
3个回答
1
投票

不是一个真正的答案,而是一些提示。 (我对Powershell几乎一无所知,如果我错了,请原谅我。)

Powershell似乎不是注册新用户的必然选择,因为您正在触及Notes的一些非常核心的功能,即安全性,PKI和身份。

但是,由于您可以实现NotesSession对象,因此有希望。你的下一站是NotesRegistration班。请注意,您必须处理两组凭据:一组用于授权注册新用户的用户(通常是管理员),另一组用于验证者。

另一种选择可能是在admin4.nsf数据库中植入请求文档,然后让管理进程完成其工作。

现在,做什么将取决于您想要注册的用户数量,频率以及是否可以接受某些手动步骤。一个中间地带是利用text file options

需要考虑的一点是从中获取用户的详细信息。当将人员注册为Notes用户时,很可能这些细节已经存储在某个数据库中。从Notes代理而不是Powershell脚本开始,您可以利用Domino的连接功能来检索所述详细信息。

最终,自动化用户注册肯定是诱人的。我已经看到它在某些地方表现不错,但需要牢牢掌握Domino管理和Domino开发。


0
投票

获取Tivoli Directory Integrator的副本(现在也称为IBM Security Integrator)。版本7.x附带(有限授权)Domino。在那里,您设置了一个管道,可以满足您的需求。我猜测:将AD用户和Notes用户保持在同一页面上。这个问题有been solved。不需要PowerShell。更多样品是On the TDI UG website


0
投票

我刚刚开始使用它并遇到同样的问题,我以前从未使用过Lotus Notes

我认为你使用Lotus脚本,powershell不能这样做

我最近制作了一个脚本来删除Notes中的人,也许这可以给你一个暗示powershell如何利用comobject:

$DomSession = New-Object -ComObject Lotus.NotesSession
$DomSession.Initialize()
$database = $DomSession.GetDatabase("server/domain","names.nsf")
$domview = $database.GetView('$users')
$deluser = $domview.GetEntryByKey("$upn")| Select-Object -ExpandProperty columnvalues | Select-String -Pattern '^(CN=(?!.*srv22*))' | Select-Object -First 1
$c = $deluser.Line.Split(' ') | Select-Object -First 2
$delete = $c[0]+' '+$c[1]
$adminprocess = $DomSession.CreateAdministrationProcess('server/domain')
$adminprocess.DeleteUser("$delete",$false,0,'')

希望能有所帮助!

© www.soinside.com 2019 - 2024. All rights reserved.