我一直在使用我编写的Web应用程序来远程创建Exchange服务器上的用户/邮箱。但是,使用此方法创建的用户无法在同一组织中查看其他用户的日历信息。我忘记了一些重要的参数吗?
我几乎肯定不会遵循最佳做法,但我基本上制作了一个命令并将其发送到我的组织的Exchange powershell,如下所示:
Dim runspace As Runspace
runspace = ConnectToExchange()
Dim command = New Command("New-Mailbox")
command.Parameters.Add("Name", firstName & " " & lastName)
command.Parameters.Add("Alias", userName)
command.Parameters.Add("OrganizationalUnit", ou)
command.Parameters.Add("UserPrincipalName", userName & "@" & domainName)
command.Parameters.Add("SamAccountName", userName)
command.Parameters.Add("FirstName", firstName)
command.Parameters.Add("Initials", "")
command.Parameters.Add("LastName", lastName)
command.Parameters.Add("Password", securePassword)
command.Parameters.Add("ResetPasswordOnNextLogon", True)
command.Parameters.Add("Database", db)
command.Parameters.Add("AddressBookPolicy", abp)
runspace.Open()
Dim pipeline = runspace.CreatePipeline()
pipeline.Commands.Add(command)
' Execute the command
Dim results = pipeline.Invoke()
runspace.Dispose()
我应该提一下,我已经审核了docs,但唯一突出的是共享政策参数。现在回顾..
编辑:我作为我刚刚创建的测试用户应用了相同的共享策略。我可以查看其他日历,但测试用户不能。
第二次编辑:我为我的普通帐户(可以查看日历)和测试帐户(无法查看日历)运行以下cmdlet:
Get-Mailbox identity.here | Format-List * | Out-File C:\Users\MyName\Desktop\file.txt
然后我通过diff工具运行这些并发现了差异。没有什么值得注意的东西会导致这个问题!我不知道下一步该转到哪里。
答案 0 :(得分:1)
请在两个帐户上运行以下CMDlet:
Get-MailboxFolderPermission -Identity john@contoso.com:\Calendar
请注意,“日历”部分似乎取决于您的Exchange安装语言(例如德语中的“Kalender”)。
如果我说得对,您的帐户可能设置了AccessRights:{PublishingEditor}。 如果是这样,则在没有访问权限的帐户上运行以下CMDlet:
Set-MailboxFolderPermission -Identity john@contoso.com:\Calendar -User Default -AccessRights Reviewer
希望有所帮助
保