【问题标题】:Changing permissions and users that can view a directory in windows更改可以在 Windows 中查看目录的权限和用户
【发布时间】:2011-12-09 15:53:41
【问题描述】:

这是我的困境。我们有一个带有路径的服务器,比如 \server1\data$\foo\bar\stuff。为此,我正在使用 Windows 2005 Server。现在,对于 \stuff,我想在 CSV 文件中添加类似 150 个用户的内容(可以从 Excel 中获取)。

我可以相当轻松地解析 CSV 文件(大多数语言都有这方面的库),但我对 Windows 权限一无所知(在我的职业生涯中使用过 Linux)。

我可以在 PHP 中做到这一点吗?

【问题讨论】:

  • 德普。 Windows Server 2003 :)

标签: windows powershell permissions


【解决方案1】:

您可以通过 DOS 或 Powershell 通过活动目录命令从命令行执行此操作。我从下面的参考资料中列出了一些参考资料和示例。

我建议将这些用户添加到组中。此示例将用户添加到组:

dsmod group "CN=csvpeeps,OU=Distribution Lists,DC=Contoso,DC=Com"  -addmbr "CN=jimmyCrackedCorn,CN=Users,DC=Contoso,DC=Com"  

参考:http://technet.microsoft.com/en-us/library/cc732423(WS.10).aspx 要创建组,请参见 dsadd 命令。创建组示例:

dsadd group cn=csvpeeps,cn=users,dc=northwindtraders,dc=com

Windows 上通过 DOS 的一个选项是 Cacls、iCacls 和其他变体。此示例将读取权限添加到组“高级用户”的资源:

CACLS \server1\data$\foo\bar\stuff. /E /G "csvpeeps":R

参考:http://ss64.com/nt/cacls.html

我了解到 CACLS 可能有问题,因此您可能需要研究 CACLS 的另一种变体。我强烈推荐http://ss64.com

如果您不知道用户或组的确切 OU/CN 等,您可以通过以下方式查看:

dsquery user -name jimmyCrackedCorn

同样适用于团体

dsquery group -name csvpeeps

如果您遇到困难,请告诉我,我可以为此付出更多努力。 Powershell 是另一个值得研究的选择。

【讨论】:

  • 我曾经在 Windows Server 2003 上与 dsmod 和公司一起工作。在这次会议之前,我从未听说过 2005 Server。如果您无法获得 ds* 工具,我想您应该查看 Powershell。您可以在 Windows 2005 Server 上获得 owershell 吗?
  • 我会用PS,但是不太懂怎么用。我很擅长。这个帖子可以问吗?
  • kikuchiyo,我的错,是 Windows Server 2003。
  • 是的,我认为这很好。如果可以的话,添加一个“Powershell”标签。 Powershell 在很多语法上都与 php 惊人地相似。现在我想到“服务器故障”也是发布这类问题的好地方。
【解决方案2】:

好的,这是我的方法。看完问题后。我认为PowerShell是要走的路。我有一个如上所述的 CSV 文件,它用逗号分隔,格式如下:

姓,名

史密斯,鲍勃

玉米艾米

等等

我想做的是找出这些人的 AD 用户名(根据我们的内部格式,Amy Corn 将是 acorn),然后将它们插入到特定目录中,以便只读目录具有那些可以查看其内容。任何帮助表示赞赏。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-11-01
    • 1970-01-01
    • 2011-08-25
    • 2013-05-07
    • 1970-01-01
    • 2012-04-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多