Excel 和 SharePoint 列表:自动化基于声明的身份验证(传递 un/pw)

Excel and SharePoint List: automating claims-based authentication (passing along un/pw)

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

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

IT 给了我一个 "dummy" login/PW,它为此目的具有对列表的只读访问权限,并且不绑定任何其他内容(出于安全原因)。我不使用 Windows 身份验证,而是在 Excel SharePoint 数据源向导中使用 Microsoft 帐户,然后 select "Forms Authentication."

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

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

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

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

我找不到自动访问 SharePoint 列表的方法。连接字符串模式似乎不支持传递明文 UID/PW 参数,而且我无法成功修改连接中的任何设置以无限期地对其进行身份验证。

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