【问题标题】:Outlook object modelOutlook 对象模型
【发布时间】:2019-05-28 14:39:06
【问题描述】:

我正在编写一个 PowerShell 脚本来共享日历。 该脚本有效,但问题是我无法编辑权限,默认值为“仅可用性”。我想给出“详细信息”。

附: - 无法使用本机 Exchange cmdlet。

Add-Type -Assembly "Microsoft.Office.Interop.Outlook"
$Outlook = New-Object -ComObject Outlook.Application
$namespace = $Outlook.GetNameSpace("MAPI")

$Calendar = $Outlook.Session.Session.Folders.Item(1)
$Calendar = $Calendar.Folders.Item("Calendar")

$CalendarShare = $namespace.CreateSharingItem($Calendar)
$CalendarShare.To = "somemail@mail.com"
$CalendarShare.Send()

【问题讨论】:

    标签: powershell outlook com


    【解决方案1】:

    您为什么要使用 Outlook 执行此操作,而不是使用本机 Exchange cmdlet 来设置 ACL?

    您只需授予审阅者的日历权限角色,这与尝试设置“完整详细信息”日历权限时提供的相同。

    例如。

    Add-MailboxFolderPermission for every Mailbox

    Set-CalendarPermissions # 当然这是来自库的脚本,但它使用的是 Exchange cmdlet。

    它真的在做这样的事情......

    # Review permissions
    Get-MailboxFolderPermission -identity 'username:\Calendar'
    
    # Set permissions
    Add-MailboxFolderPermission -identity 'username:\Calendar' -user 'personalassistant' -AccessRights Reviewer
    

    【讨论】:

    • 很遗憾,我无法使用此选项...(无法使用本机 Exchange cmdlet)
    • @Roee Ziv:你确定吗?甚至用户(默认情况下)也有权执行 Get-Mailbox(仅返回他们自己的邮箱)或 Add-MailboxFolderPermission。刚刚使用普通用户帐户在我的 365 租户上检查了这一点,导入 PS 会话后,我可以使用 154 个 cmdlet(即使在 Exchange 2010 中,您也有很多可供用户使用的 CMDlet)。
    • 至于“很遗憾,我无法使用此选项...(无法使用本机 Exchange cmdlet)”,如果您没有此权限,您需要用户邮箱的权限才能执行此操作许可,无论您尝试使用哪种语言,您都无能为力。这是一个 Exchange 管理员控件。因此,您必须让您的 Exchange 管理员设置此 ACL。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-27
    • 2022-01-21
    • 1970-01-01
    • 1970-01-01
    • 2023-03-30
    相关资源
    最近更新 更多