【问题标题】:Excel and SharePoint List: automating claims-based authentication (passing along un/pw)Excel 和 SharePoint 列表:自动化基于声明的身份验证(传递 un/pw)
【发布时间】:2017-12-28 20:42:52
【问题描述】:

我有一个 SharePoint 网站上的 SharePoint 列表,该列表可通过基于声明的身份验证访问(或者 IT 已告诉我;我不是 100% 熟悉详细信息)。

我正在尝试连接到 Excel 中的列表,并且这样做的方式不需要每次都进行身份验证以实现自动化目的。 (我习惯于建立与 SQL 数据源的连接,其中可以在连接字符串中传递用户名和 PW,如果您知道在哪里查看,则无需手动验证,冒着暴露登录详细信息的风险。)

IT 给了我一个“虚拟”登录名/密码,它为此目的对列表具有只读访问权限,并且不与其他任何内容相关联(出于安全原因)。我不使用 Windows 身份验证,而是在 Excel SharePoint 数据源向导中使用 Microsoft 帐户,然后选择“表单身份验证”。

我打开了宏记录器,使用 Excel 中的 SharePoint 列表数据源向导创建了到 SharePoint 列表的连接,使用虚拟登录名/密码成功地进行了身份验证,设计了感兴趣的查询,然后返回到代码中尝试对我需要的东西进行逆向工程。

不幸的是,据我所知,UN/PW 没有通过 Excel 中的连接字符串或类似内容以任何可见的方式传递。

所以我陷入了需要手动验证才能运行自动报告的情况,这违背了自动化的目的。

关于如何克服这个障碍有什么建议吗?我对基于声明的身份验证系统(或一般身份验证)的细节不够熟悉,不知道应该从哪里开始。

【问题讨论】:

  • 因此,当您运行录制的宏时,它会一直运行直到提示您输入用户名/密码?如果你输入这些,它会继续运行直到完成吗?
  • dwirony,假设我最近在我正在使用的机器上进行了身份验证,它将成功运行。如果我打开工作簿并在另一台机器上运行宏,它会再次提示进行身份验证。编辑:一旦给出身份验证,它就完成了运行。
  • 我试图在一夜之间拉下查询的最新结果,以便当另一个自动化进程在上午 8 点运行时,数据已经完成。第二个过程需要先在 Excel 工作表中更新数据,因为它不能直接访问 SharePoint 列表数据。

标签: excel sharepoint forms-authentication excel-2016 vba


【解决方案1】:

我无法找到自动访问 SharePoint 列表的方法。连接字符串架构似乎不支持传递纯文本 UID/PW 参数,并且我无法成功修改连接中的任何设置以使其无限期地通过身份验证。

一种可能的解决方法是在 SharePoint 服务器本身上设置一个 PowerShell 脚本。此脚本将删除包含列表内容的旧 Excel 文件,然后将列表内容导出到具有相同文件名的新文件中。 this link 的潜在代码示例,但我无法进行测试,IT 对实施此解决方法不感兴趣。

【讨论】:

    猜你喜欢
    • 2012-12-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多