在 Windows 7 中共享具有完全访问权限的文件夹

在 Windows 7 中共享具有完全访问权限的文件夹

我有以下情况:

  • 我需要在 Windows 7 计算机上共享 C 盘根目录中的文件夹。
  • 该共享应该为本地网络上的其他机器上的任何人提供读/写访问权限。
  • Windows 7 计算机不属于域的一部分。
  • 我需要从代码(命令行工具)建立共享。
  • 如果可能的话,代码应该可以在任何本地化的 Windows 7 安装上运行

据我了解,我必须处理两种类型的权限:

  • 分享权限和
  • NTFS权限。

两者都需要允许读/写访问才能使最终解决方案发挥作用。

现在,我们假设要共享的文件夹名为C:\共享文件夹。我以提升的权限使用命令行工具创建文件夹,然后提供共享:

  1. MD C:\共享文件夹

  2. NET SHARE 共享名=C:\SharedFolder /GRANT:Everyone,Full

  3. icacls c:\SharedFolder /grant:r *S-1-1-0:F

步骤 1 创建文件夹,步骤 2 创建具有正确共享权限的共享,步骤 3 添加所需的 NTFS 权限,对吗?(请注意,“S-1-1-0“只是“Everyone”对应的SID。”

通过这三个步骤,我最终得到了所需的共享,但是当我从另一台机器连接到共享时,我只有只读访问权限!这是为什么呢?

如果我右键单击 Windows 7 计算机上的共享文件夹,我会得到以下信息:

文件夹属性窗口

请注意,只读复选框有点标记!

我可以通过单击只读标记(然后单击“确定”或“应用”)轻松解决此问题,但我如何通过代码执行此操作?为什么有必要这样做?

另请注意,净份额命令使用术语“每个人”在其/授予开关。这是有问题的,因为在德语 Windows 7 中,您应该写“Jeder”而不是“Everyone”,而在丹麦语 Windows 中,正确的单词应该是“Alle”。

这个语言问题不是问题伊卡克尔斯命令,因为在这里我可以使用相应的 SID(如图所示)。但我如何才能让净份额命令也适用于任何语言吗?

相关内容