问题在c:\ users \ temp.DOMAIN.00x中创build临时文件

我试图让用户连接到服务器上的共享Excel文件。 用户可以访问该共享。 使用Procmon,我检测到OleDB在这个位置创build一个临时文件:

c:\users\temp.<DOMAIN>.00x

但是用户默认没有权限访问这个文件夹,他们收到来自OleDB的可怕的“未指定的错误”。 据推测,这个问题可以通过在Web.config文件中进行以下更改来缓解:

<identity impersonate="true" />

<identity impersonate="false" />

但是,这是一个SharePoint服务器,因此我无法进行更改而不会对SharePoint产生负面影响。 我想要执行下列操作之一来缓解创build额外临时文件的问题:

  • 通过GPO,设置或脚本自动授予用户对新Temp目录的读写权限
  • 修复服务器,使这些临时目录不是首先创build(这是首选,但从我的search似乎更难)

如果你能推荐更好的解决scheme,我当然愿意看看其他的解决scheme。 另外,我对我的巨大无知事先道歉,我不是真正的服务器pipe理员。 感谢您的期待!

通常这是因为App Pool用户创build用于编辑的临时文件的奇怪情况,实际用户无权访问。

这就是为什么当模拟设置为false时,应用程序池用户身份被使用并且可以访问该文件 – 但是当模拟设置为true时,正在使用用户帐户,该帐户无权访问这些文件。

将每个人的写入权限设置为临时文件父目录应该可以解决此问题。 我想在那里有一些单独的安全问题,但在你的情况下似乎不是一个问题(你甚至提出了这个问题)。