这是我的困境。我们有一个带路径的服务器,比如\ server1 \ data $ \ foo \ bar \ stuff。我正在使用Windows 2005 Server。现在,对于\ stuff,我想在CSV文件中添加150个用户(可以从Excel获取)。
我可以很容易地解析CSV文件(大多数语言都有这个库),但我对Windows权限一无所知(在我之前的职业生涯中使用过Linux)。
我可以在PHP中执行此操作吗?
答案 0 :(得分:0)
您可以通过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是另一个值得研究的选择。
答案 1 :(得分:0)
好的,这是我的方法。看完这个问题后。我认为PowerShell是要走的路。我有一个如上所述的CSV文件,用逗号分隔,格式如下:
姓氏,名字
史密斯,鲍勃Corn Amy
等
我想要做的是找出这些人的AD用户名(Amy Corn将根据我们的内部格式进行调整),然后将它们插入特定目录,以便只读目录包含这些用户可以查看其内容。任何帮助表示赞赏。