【问题标题】:How to update SharePoint calendar using PowerShell?如何使用 PowerShell 更新 SharePoint 日历?
【发布时间】:2013-01-27 01:59:42
【问题描述】:

我一直在尝试使用 PowerShell 更新 SharePoint 日历(假设我有一个包含日历事件的 .csv 文件)但没有成功。你能引导我完成这个动作吗?从如何将 SharePoint 相关框架加载到 PowerShell 开始?我是一个完整的 PowerShell 和 SharePoint 初学者......我认为这就是我卡住的地方。如有需要,我可以提供更多详细信息。

【问题讨论】:

    标签: powershell sharepoint scripting


    【解决方案1】:

    我假设您可以访问 Sharepoint 服务器,如果是这种情况,那么第一步将是加载 Sharepoint 库,如下所示:

    [System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint")
    

    之后可以得到默认的日历列表如下:

    $Site = New-Object Microsoft.Sharepoint.Spsite("http://localhost")
    $Web = $Site.OpenWeb()
    $Calendar = $Web.Lists["Calendar"]
    

    我不知道如何从这里开始,因为我以前没有这样做过,但是您可以尝试使用 $Calendar 对象的 AddItem 函数。明天我可以进一步研究,但与此同时,请随意尝试,如果您需要进一步的帮助,请告诉我。

    【讨论】:

    • 太棒了 - 谢谢穆萨布!由于某种原因,我在加载 Sharepoint 库时遇到问题 - 您需要下载/安装它吗?您对此有什么建议吗?
    • 您不是在 SharePoint 服务器本身上运行此代码吗?因为这个库默认是作为 SharePoint 安装的一部分安装的。
    • 不,我不打算这样做 - 我无权访问 Sharepoint 服务器。我打算从另一台 PC 上运行它(我被授予编辑日历的权限) - 你知道这是否可能吗?
    • 是的,这仍然是可能的。有两种方法,第一种是在要运行代码的机器上安装 Sharepoint,这将使所需的库可用。我知道这听起来有点矫枉过正,但这是一种干净的方法,它将确保您拥有所有必需的 DLL。第二种方法是从现有的 Sharepoint 服务器复制 dll,但这有点“hacky”,您会遇到库依赖项的问题。
    • 太棒了!非常感谢穆萨布!我会在接下来的几天内尝试一下,然后告诉你进展如何:)
    【解决方案2】:

    您应该加载或运行 SharePoint 命令行管理程序

    Add-PSSnapin Microsoft.SharePoint.PowerShell
    

    将额外的 SharePoint 内容加载到 PowerShell 中,例如 Get-SPSiteGet-SPWeb

    除此之外,您几乎只需使用常规的 SharePoint API。

    这里是 SharePoint 特定 cmdlet 的列表

    http://technet.microsoft.com/en-us/library/ff678226.aspx

    下面是如何使用 C# 将列表项添加到列表的示例:

    http://www.c-sharpcorner.com/Blogs/9396/programmatically-add-an-event-to-sharepoint-2010-calendar.aspx

    您需要擅长将 C# 转换为 PowerShell。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-09-17
      • 1970-01-01
      • 2017-01-17
      • 2015-12-01
      • 2015-03-02
      • 2020-08-21
      • 2011-12-31
      • 1970-01-01
      相关资源
      最近更新 更多