使用Powershell创建Notes用户5

时间:2016-09-19 08:29:26

标签: powershell lotus-notes

我已经找到了一点点,我发现显然有些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"

我没有犯错,但我也没有成功是否有任何明显的错误让我错过了?

3 个答案:

答案 0 :(得分:1)

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

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

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

另一个选项可以admin4.nsf数据库中植入请求文档,然后让管理进程完成其工作。

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

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

最终,自动化用户注册肯定很诱人。我已经看到它在某些地方做得很好但是它需要牢固掌握Domino管理和Domino开发。

答案 1 :(得分:0)

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

答案 2 :(得分: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,'')

希望可以有所帮助!