Dynamics 365与SharePoint本地集成:删除站点记录后恢复文档访问咨询
核心问题说明
重新创建Dynamics 365中的SharePoint站点记录后,系统不会自动关联原有SharePoint文档库的结构、权限映射关系,这是导致无法查看文档、权限失效的根本原因,需按以下步骤手动修复关联。
一、前置验证
- 确认SharePoint站点、对应业务实体的文档库(如账户、联系人专属库)完整存在,所有文件未丢失
- 检查SharePoint侧权限:确保Dynamics 365集成服务账户对目标文档库拥有完全控制权限,且用户AD账户在SharePoint的权限配置与之前一致
二、重新配置站点关联
- 进入Dynamics 365后台,依次打开设置 > 文档管理 > SharePoint站点
- 删除之前创建的无效站点记录,点击新建选择现有SharePoint站点
- 填写与原有站点完全一致的URL(注意http/https前缀),勾选设为默认站点后保存
- 进入文档管理设置,勾选需要恢复集成的业务实体(如账户、机会),启用服务器基于文件夹的SharePoint集成
- 在文档库配置环节,选择使用现有文档库,对应到SharePoint中已存在的实体专属库,不要选择新建选项
- 点击确定触发系统同步
三、修复文档关联与权限映射
文档关联修复
若同步后仍无法在实体记录中看到文档,执行以下操作:
- 通过Dynamics 365高级查找导出目标实体的所有记录(需包含记录ID字段)
- 用PowerShell脚本重新关联实体记录与SharePoint文件夹:
# 替换为你的环境参数 $CRMConn = Get-CrmConnection -ConnectionString "AuthType=AD;Url=http://你的CRM地址/XRMServices/2011/Organization.svc;Domain=域名;Username=集成服务账户;Password=账户密码" $entityName = "account" # 替换为目标实体逻辑名 $records = Import-Csv -Path "C:\导出的记录文件.csv" $siteId = (Get-CrmRecord -Conn $CRMConn -EntityLogicalName "sharepointsite" -FilterAttribute "name" -FilterOperator "eq" -FilterValue "默认站点名称").sharepointsiteid foreach ($record in $records) { $null = New-CrmRecord -Conn $CRMConn -EntityLogicalName "sharepointdocumentlocation" -Fields @{ "regardingobjectid" = [Microsoft.Xrm.Sdk.EntityReference]::new($entityName, [Guid]$record.Id) "sharepointsiteid" = [Microsoft.Xrm.Sdk.EntityReference]::new("sharepointsite", [Guid]$siteId) "relativeurl" = $record.AccountNumber # 替换为原有文件夹命名对应的实体字段,如账户编号 } } - 脚本执行完成后,重新运行一次文档管理设置同步
权限映射修复
- 检查Dynamics 365安全角色,确保已配置文档管理类权限(读取、写入文档位置等)
- 确认Dynamics用户的AD身份与SharePoint侧的权限主体完全匹配,若有变动,重新运行Dynamics的Active Directory用户同步(路径:设置 > 安全 > 用户 > 同步Active Directory用户)
- 若用户权限仍异常,可在SharePoint侧重新为用户/AD组配置对应文档库的权限
四、恢复验证
- 随机选择多个实体记录,检查文档管理标签是否正常显示原有文件
- 测试用户的文档操作权限(打开、上传、删除),确保与之前一致
- 新建一条实体记录,确认SharePoint自动生成对应文件夹
内容的提问来源于stack exchange,提问作者Sefid NT
相关产品推荐
相关产品推荐

