我有一个应用程序,需要在 C 盘根目录下的文件夹 (C:\AppFolder) 中运行。在客户端上,我需要为 C:\ 映射网络驱动器,因为该应用程序会搜索 \AppFolder... 目录。因此,我在 win server 2012 上共享了我的 C:\ 驱动器,并将其映射到我的客户端上。并为每个人(服务器上的来宾帐户也已启用)设置了对 C:\AppFolder 的完全控制权限,但当我尝试通过映射驱动器访问此文件夹时,它会失败。如果我另外共享 C:\AppFolder,我可以通过 \server\AppFolder 访问该文件夹,可以写入该文件夹,但我仍然无法通过映射驱动器写入。我尝试了各种权限设置,但均未成功。谢谢帮助
答案1
有点困惑。服务器是否有需要驻留在 C:\AppFolder 中的服务器端应用程序?我问这个是因为客户端显然不会将驱动器映射为 C:。
除此之外,这里可能发生了两件事。首先,共享可能仍设置为只读(输入以下命令检查NET 共享 <共享名称>从服务器控制台。
其次,用户帐户控制(UAC)可能会阻止访问。
但是,在我看来,而且这只是我比较纯粹的想法,我会将实际的应用程序数据放在 D:\APPFOLDER 上,然后在 C:\APPFOLDER 上创建一个指向 D:\APPFOLDER 的符号链接(又名连接点)。这可以使用以下方法实现明科互联。
最后,为了完整性,您可以从服务器尝试以下操作,并发布结果:
icacls c:\appfolder
--- 编辑 01/10 @ 18:03:
我会做以下事情:
REM Remove share
net share appfolder /d
REM Rename existing APPFOLDER dir
ren c:\appfolder appfolder_old
REM Create an "approot" dir on D:
md d:\approot
REM Share it
net share approot=d:\approot /remark:"The parent of my appfolder." /cache:none /grant:everyone,full
REM Set NTFS permissions (using CACLS instead of ICACLS, as it can stamp over existing permissions more easily)
REM Note "authenticated users" instead of "everyone" and "Modify" instead of "Full Control"
echo Y|cacls d:\approot /grant "Administrators:F" "SYSTEM:F" "Authenticated Users:M"
REM Create an appfolder dir under approot
md d:\approot\appfolder
REM Create a symbolic link on C:
mklink /d c:\appfolder d:\approot\appfolder
REM Copy contents
robocopy c:\appfolder_old c:\appfolder /mir