我已经发现了很多东西,我发现很明显一些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几乎一无所知,如果我错了,请原谅我。)
Powershell似乎不是注册新用户的必然选择,因为您正在触及Notes的一些非常核心的功能,即安全性,PKI和身份。
但是,由于您可以实现NotesSession对象,因此有希望。你的下一站是NotesRegistration
班。请注意,您必须处理两组凭据:一组用于授权注册新用户的用户(通常是管理员),另一组用于验证者。
另一种选择可能是在admin4.nsf
数据库中植入请求文档,然后让管理进程完成其工作。
现在,做什么将取决于您想要注册的用户数量,频率以及是否可以接受某些手动步骤。一个中间地带是利用text file options。
需要考虑的一点是从中获取用户的详细信息。当将人员注册为Notes用户时,很可能这些细节已经存储在某个数据库中。从Notes代理而不是Powershell脚本开始,您可以利用Domino的连接功能来检索所述详细信息。
最终,自动化用户注册肯定是诱人的。我已经看到它在某些地方表现不错,但需要牢牢掌握Domino管理和Domino开发。
获取Tivoli Directory Integrator的副本(现在也称为IBM Security Integrator)。版本7.x附带(有限授权)Domino。在那里,您设置了一个管道,可以满足您的需求。我猜测:将AD用户和Notes用户保持在同一页面上。这个问题有been solved。不需要PowerShell。更多样品是On the TDI UG website
我刚刚开始使用它并遇到同样的问题,我以前从未使用过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,'')
希望能有所帮助!