Exchange - 以编程方式创建的邮箱无法访问用户的日历

时间:2014-01-08 21:28:24

标签: vb.net powershell exchange-server

我一直在使用我编写的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工具运行这些并发现了差异。没有什么值得注意的东西会导致这个问题!我不知道下一步该转到哪里。

1 个答案:

答案 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

希望有所帮助